自己第一個組譯工具:Hello World !

來源:互聯網
上載者:User

      也許是一種興趣,也許是一種執著,也許是一種追求,所以選擇學習彙編。在這之前看過部分彙編的視頻,講到CPU結構、寄存器之類頭蒙了,有種當初連Windows API都沒掌握一點的前提下去看MFC的那種感覺,當初確實很傻,現在終於能深刻體會候俊傑的話了:“勿在浮沙築高台”,嚴重“受挫碰壁”後當時便把彙編撂那兒了。如今重拾,便下定決心了!

 

      因為朋友、愛人、親人他們的笑臉永遠是你最大的動力!

 

      網上有很多彙編入門的教程與執行個體,但很多都不健全,自己在眾友的協助下,很順利的搭建好了環境,將我的第一個hello World寫出來了!下面是我學習過程中一些心得,希望能給與我一樣初學WIN32彙編的朋友一些協助!

 

1、羅雲彬的《Win32彙編教程》

 

      說實話,前段第一章背景知識確實很枯燥,周末反覆看了兩天,還是沒得什麼頭緒,主要也是概念性的東西太強了點。於是跳過,直接看第二章“準備編程環境 ”,這一章講解還算容易理解,主要是介紹組譯工具的開發流程、Link.exe、rc.exe等工具用法。終於明白了彙編為什麼沒有像VC++那樣比較好的IDE開發環境(因為確實比較麻煩)。

 

2、第一個組譯工具

 

3、環境設定

 

      自行下載與安裝MASM32 V10應該沒什麼問題,預設就行。當初自己還“慶幸”以為MASM32 V10有什麼IDE環境讓我寫好的代碼直接連結,結果發現沒有,讓我很是失望。使用ml.exe、link.exe時遇到幾個錯誤,就是“inc、lib等檔案無法找到”,估計我的環境沒有設定好。(最笨的辦法:包含絕對路徑咯)

 

      下面是正確的設定方法,後面寫代碼時就不用包含絕對路徑了:

 

      A、開啟“系統內容變數”:

    

 

      B、添加如下記錄:

   

 

   

4、使用ml.exe編譯器

 

      將hello.asm複製到bin目錄,開啟命令列,輸入ml /c /coff hello.asm,此時將在bin目錄產生hello.obj,如:

    

 

 

5、使用link.exe連結程式

 

      這些都只能自己完成了,並不能像VC++這樣的IDE環境裡幫我們處理。繼續輸入link /subsystem:windows hello.obj

      如:    

  

 

 

6、運行程式,第一個組譯工具總算完成!

 

     

 

 

7、 感謝寂寞的狼、習慣成自然、neptune與徐藝波等友友支援與鼓勵!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.