也許是一種興趣,也許是一種執著,也許是一種追求,所以選擇學習彙編。在這之前看過部分彙編的視頻,講到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與徐藝波等友友支援與鼓勵!