32位汇编学习札记(二)

win32汇编语言第二章(6.22)

win32开发源码的组成

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 

 

环境搭建

1.下载masm32开发包,解压到c盘后在masm32目录下有bin,include,lib目录
2.下载namke.exe文件,将namke.exe文件拷贝到masm32/bin目录下
3.编写设置变量文件
4.下载安装notepad++用于源文件编辑器
5.下载安装vc6.0用于编辑资源文件

 

makefile文件结构

makefile包含3个部分
1.宏定义部分
  a.定义目标文件
  b.定义obj文件
  c.定义res文件
  d.定义编译命令
2.显示规则部分
  显示规则定义了文件之间的依赖关系及使用命令,除了特殊情况(clean)显示规则都需要定义依赖文件,当显示规则没有命令的时候就会使用隐含规则中的命令
3.隐含规则部分
  定义了文件之间默认的编译规则,不包含依赖文件。可以把隐含文件理解为,遇到a文件就使用命令c编译成b文件

 

nmake的执行过程

nmake通过makefile来编译目标文件
1.找到makefile中第一个显示规则,调用命令对依赖关系中提供的文件进行编译
2.如果显示规则没有提供命令则使用隐含规则中的命令进行编译
3.如果依赖关系不存在,则先找依赖关系的编译命令,编译完成后返回到总命令中。

 

资料查找

windows资料
1.api可以通过msdn和一些api文档进行查找
2.汇编的例子: http://www.movsd.com, http://win32asm.cjb.net, http://asm.yeah.net

 

 

posted @ 2013-06-22 09:16  通灵宝玉  阅读(260)  评论(0编辑  收藏  举报