《《Windows环境下32位汇编语言程序设计(典藏版)》【迷你书】.》.pdf

《《Windows环境下32位汇编语言程序设计(典藏版)》【迷你书】.》.pdf

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《《Windows环境下32位汇编语言程序设计(典藏版)》【迷你书】.》.pdf

第 2 章 准备编程环境 2.1 Win32 可执行文件的开发过程 在DOS 下,生成一个可执行文件的步骤比较简单,用编译器将源程序编译为obj 文件, 再用链接器将obj 文件链接成exe 文件,不同语言的开发过程都差不多。 DOS 可执行文件中的内容是由源程序中所写的代码和数据定义转换而来的。唯一的例 外是带覆盖部分(Overlay )的exe 文件,它在基本的exe 文件后附加了一些自定义的数据, 其中可执行部分的长度由文件头偏移0002h 和0004h 中的长度给出,该长度之后到文件实际 长度这部分就是Overlay 部分。这样,即使一个带覆盖的exe 文件大小远远超过640 KB,在 DOS 下也能运行,因为操作系统只装入真正的可执行部分,然后由程序自己去读取覆盖部 分的数据。一些打包软件生成的奇大无比的自解压包就采用这种结构,可执行部分是解包代 码,覆盖部分是被压缩的数据。DOS 对可执行文件覆盖部分的数据格式并没有规定,它是 程序员按自己的方式组织的。如果程序员愿意,也可以把这些数据单独放在另外一个文件中。 Win32 可执行文件叫做PE 文件。PE 文件的基本结构和DOS 可执行文件有很大的不 同。它把程序中的不同部分分成各种节区(Section ),其中可以有一个节区是放置各种资 源的,如菜单、对话框、位图、光标、图标和声音等(详见第17 章)。虽然可以把资源部 分理解成类似DOS 可执行文件中的“覆盖”部分,但由于资源是Win32 可执行文件的标 准组成部分,而且是非常重要的组成部分,它的格式是固定的。所以与 DOS 软件的开发 过程相比,Win32 软件的开发中多了一个创建资源文件的步骤。 以使用MASM32 SDK 软件包为例,在用Win32 汇编开发软件的流程中,程序员要做 的工作分创建代码和创建资源两部分,如图2.1 所示。 代码部分的开发工作与 DOS 下写代码的步骤是一样的。程序员用文本编辑器书写汇 编源代码(*.asm 文件)。与C 源代码类似,asm 文件中也可以用include 语句包含数据定 义和函数声明的头文件,Win32 汇编的头文件一般用inc 作扩展名。大部分的include 文件 是编译器软件包附带提供的,如MASM32 SDK 附带的Windows.inc 文件定义了Win32 API 中很多参数和数据结构,其他的inc 文件则是不同DLL 中的Win32 API 函数声明。最后, asm 文件经汇编编译器编译成以obj 为扩展名的目标文件。 资源文件中可以包括对话框、快捷键、菜单、字符串、版本信息和一些图形资源等内 容。资源文件的源文件是一种类似“脚本”的文本文件,它的扩展名一般为rc ,其中用不 同的语法定义了不同类型的资源,资源脚本文件最后由资源编译器编译成资源文件*.res。 Windows 环境下32 位汇编语言程序设计(典藏版) 资源脚本文件同样用到很多预定义值,所以软件包中一般也包括资源头文件供源文件来导 入。MASM32 SDK 软件包中的资源头文件是Resource.h 。 在资源文件中,不同类型资源的记录方式是不同的。对话框资源只记录定义值,如对 话框的大小、位置等,并非真正存储对话框最后显示在屏幕上的像素。这些大小、位置等 信息最后由Windows 解释后才在屏幕上被绘画成像素;菜单、字符串、快捷键等由文本构 成;图形资源则真正由像素组成,它们在资源脚本中被定义为一个文件名,由资源编译器 从磁盘文件导入。Windows 在资源中支持的图形文件有bmp 位图文件、cur 光标文件和ico 图标文件,这些图形文件可以用其他图形处理软件生成。另外,wav 声音文件也可以用在 资源中。创建资源的方法在第5 章中有详细的描述。 我们的脑袋加双手 预定义头文件 汇编源文件 文本编辑器 资源脚本文件 预定义头文件 Windows.inc *.asm *.rc Resource.h API 声明头文件 位图 .bmp

文档评论(0)

iyjt + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档