win32彙編語言第二章(6.22)windows
win32開發源碼的組成api
win32可執行文件的源碼包括兩個大的部分:彙編代碼和資源文件 1.彙編代碼: a. asm文件:咱們本身編寫的彙編源碼 b. windows.inc:系統api的聲明文件,在咱們的源代碼中包含這個頭文件後就能夠調用windows提供的api。 c. *.inc:用戶自定義頭文件,咱們本身編寫的或者第三方函數庫的頭文件 2.資源文件: a.rc文件:資源文件腳本,用於定義可執行文件中的資源包括(菜單、窗口、圖形、聲音等資源) b.resource.h:資源文件頭文件 c.其餘獨立的文件資源:bmp、ico、cur、wav等文件
win32可執行文件的編譯過程:編輯器
1.asm windows.inc *.inc 經過ml.exe生成 .obj 2.rc resource.h 其餘獨立資源文件 經過rc.exe 生成 .res 3.obj和rec加入dll文件 經過link.exe 生成exe文件
編譯過程經常使用的命令:函數
ml 經常使用編譯選項 ml /c /coff /Cp /Gz /Zi link 經常使用方法 link /subsystem:windows a.obj b.obj c.lib d.res link /subsystem:console a.obj b.lib c.res link /subsystem:windows /dll /def:a.def b.obj c.lib d.res
環境搭建spa
1.下載masm32開發包,解壓到c盤後在masm32目錄下有bin,include,lib目錄 2.下載namke.exe文件,將namke.exe文件拷貝到masm32/bin目錄下 3.編寫設置變量文件 4.下載安裝notepad++用於源文件編輯器 5.下載安裝vc6.0用於編輯資源文件
makefile文件結構.net
makefile包含3個部分 1.宏定義部分 a.定義目標文件 b.定義obj文件 c.定義res文件 d.定義編譯命令 2.顯示規則部分 顯示規則定義了文件之間的依賴關係及使用命令,除了特殊狀況(clean)顯示規則都須要定義依賴文件,當顯示規則沒有命令的時候就會使用隱含規則中的命令 3.隱含規則部分 定義了文件之間默認的編譯規則,不包含依賴文件。能夠把隱含文件理解爲,遇到a文件就使用命令c編譯成b文件
nmake的執行過程code
nmake經過makefile來編譯目標文件 1.找到makefile中第一個顯示規則,調用命令對依賴關係中提供的文件進行編譯 2.若是顯示規則沒有提供命令則使用隱含規則中的命令進行編譯 3.若是依賴關係不存在,則先找依賴關係的編譯命令,編譯完成後返回到總命令中。
資料查找blog
windows資料 1.api能夠經過msdn和一些api文檔進行查找 2.彙編的例子: http://www.movsd.com, http://win32asm.cjb.net, http://asm.yeah.net