32位彙編學習札記(二)

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
相關文章
相關標籤/搜索