Jack架设WIN32汇编程序的开发环境

    技术2022-05-11  58

    标 题: Jack架设WIN32汇编程序的开发环境 作 者: Jack Yang 时 间: 2007-02-25 15:18 链 接: http://blog.csdn.net/magus_yang/archive/2007/02/25/1514026.aspx 1.         下载并安装Ultraedit http://www.ultraedit.com/ 我安装的版本是12.20b+1官方中文版,安装路径不重要。   2.         下载并安装MASM http://www.masm32.com/ 我安装的是Version 9,安装路径为:D:/masm32   3.         make工具 http://211.90.241.130:22366/view.asp?file=53 压缩包中有两个make工具 nmake.exe是Microsoft (R) Program Maintenance Utility    Version 1.50 make.exe是MAKE Version 4.0 Copyright (c) 1987, 1996 Borland International 这两个make工具所支持的Makefile语法和常用的选项大同小异。 把nmake.exe和make.exe解压到Masm32安装目录的bin子目录下。   4.         编写一个用于设置环境变量的批处理文件var.bat 文件的内容如下: @echo   off rem  请根据 Masm32 软件包的安装目录修改下面的 Masm32Dir 环境变量! set  Masm32Dir = D: Masm32 set  include = %Masm32Dir% Include ; %include% set  lib = %Masm32Dir% lib ; %lib% set   path = %Masm32Dir% Bin ; %Masm32Dir% ; % PATH % echo   on   每打开一个新的命令行控制台,就要执行一次var.bat文件。 省力的做法是把环境变量添加到用户变量,或系统变量中去。 可以使用下列命令查看环境变量的设置情况: C:/>echo %include% C:/>echo %lib% C:/>echo %path%   5.         编写makefile makefile的内容如下: EXE  =  Test.exe             #指定输出文件OBJS  =  Test.obj            #需要的目标文件RES  =  Test.res              #需要的资源文件 LINK_FLAG  =  /subsystem:windows    #连接选项ML_FLAG  =  /c /coff            #编译选项 $(EXE): $(OBJS) $(RES)       Link $(LINK_FLAG) $(OBJS) $(RES) .asm.obj:       ml $(ML_FLAG) $<.rc.res:       rc $< clean:       del *.obj       del *.res    需要注意的地方: 1)        nmake默认将Makefile文件的第一条规则中的目标文件作为最终文件。例子中的最终文件就是Test.exe 2)        引用EXE或OBJS这些宏时一定要加上括号,如:$(EXE)、$(OBJS) 、$(RES) 3)        makefile的换行符是“/”,“/”后面不能再加上其它字符,包括注释和空格 4)        隐含规则中几个用来指定文件名的特殊预定义宏 $@ - 目标文件的全路径文件名 $*     - 目标文件的除去扩展名的全路径文件名 $?     - 所有源文件(依赖文件)的文件名 $<    - 源文件(依赖文件)的文件名 5)        显式规则的定义格式: 目标文件 : 依赖文件     命令 6)        隐含规则的定义格式: .源扩展名.目标扩展名:     命令   用MASM编译和链接一个Win32汇编源程序常用的命令是: ml /c /coff xx.asm link /subsystem:windows xx.obj yy.lib zz.res (普通PE文件) link /subsystem:console xx.obj yy.lib zz.res (控制台文件) link /subsystem:windows /dll /def:aa.def xx.obj yy.lib zz.res (DLL文件)   6.         执行nmake.exe nmake的常用选项如下: /?    显示帮助信息  /f      指定描述文件(makefile)的文件名 /x     把屏幕输出的信息存到一个文件中 /a      强制更新所有文件 /b     文件时间相等时也要更新文件 /d     make时显示文件新旧信息 /n     显示make时要执行的命令,但并不真正执行 /p     make是显示详细的信息 宏定义     用新的定义覆盖描述文件(makefile)中的宏定义 目标        指定建立描述文件(makefile)中描述的某个文件 如: make clean 用于清除编译过程中产生的临时文件,即执行del *.obj和del *.res两条命令; make test.obj 只编译test.asm生成test.obj文件; make test.res 只编译test.rc生成test.res文件;     Win32汇编程序的开发调试过程: 编译源程序->切换到MS-DOS窗口->键入nmake编译->运行生成的可执行文件->切换到文本编辑器修改源程序........如此循环往复调试程序。   参考资料: 罗云彬的《Windows环境下32位汇编语言程序设计》(第二版)第二章  

    最新回复(0)