Win32汇编开发基础

      在用Win32汇编开发软件的流程中,程序员要做的工作分创建代码和创建资源两部分,如图2.1所示。

   
代码部分的开发工作与DOS下写代码的步骤是一样的。程序员用文本编辑器书写汇编源代码(*.asm文件)。与C源代码类似,asm文件中也可以用include语句包含数据定义和函数声明的头文件,Win32汇编的头文件一般用inc作扩展名。大部分的include文件是编译器软件包附带提供的,如MASM32软件包附带的Windows.inc文件定义了Win32 API中很多参数和数据结构,其他的inc文件则是不同DLL中的Win32 API函数声明。最后,asm文件经汇编编译器编译成以obj为扩展名的目标文件。
资源文件中可以包括对话框、快捷键、菜单、字符串、版本信息和一些图形资源等内容。资源文件的源文件是一种类似“脚本”的文本文件,它的扩展名一般为rc,其中用不同的语法定义了不同类型的资源,资源脚本文件最后由资源编译器编译成资源文件*.res。资源脚本 文件同样用到很多预定义值,所以软件包中一般也包括资源头文件供源文件来导入。MASM32软件包中的资源头文件是Resource.h。
在资源文件中,不同类型资源的记录方式是不同的。对话框资源只记录定义值,如对话框的大小、位置等,并非真正存储对话框最后显示在屏幕上的像素。这些大小、位置等信息最后由Windows解释后才在屏幕上被绘画成像素;菜单、字符串、快捷键等由文本构成;图形资源则真正由像素组成,它们在资源脚本中被定义为一个文件名,由资源编译器从磁盘文件导入。Windows在资源中支持的图形文件有bmp位图文件、cur光标文件和ico图标文件,这些图形文件可以用其他图形处理软件生成。另外,wav声音文件也可以用在资源中。

编译好目标文件*.obj和资源文件*.res后,最后一步是用链接器将它们链接成可执行文件。链接的时候要用到函数库。在DOS环境下编程的时候,使用的函数库是静态库。静态库是一些已经编译好的代码模块。当用户在源程序中用到某个函数的时候,链接器从库文件中将这个函数的二进制代码取出,与obj文件合在一起生成最终的exe文件。但在Win32环境下,大部分的公用函数封装在DLL文件中,以动态链接的方式供用户程序调用。这时候库文件中只需要包含函数在DLL中的位置信息,不再需要有二进制代码部分。所以链接的时候也只是把库文件中的位置信息取出放入最后的可执行文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值