搞汇编环境配置好几天了,总算好了,以下是我的心得体会。
汇编有dos16汇编(也就是X86纯汇编)和win32汇编。
dos汇编我使用masm5.1版,win32汇编我用的是masm32第十版。
安装好这两个软件后,我在我的电脑->属性->高级的系统变量path里添加了C:/masm510和C:/masm32/bin
然后凡是dos汇编我都是用masm5.1版,步骤是传统的:masm **.asm和link5 **.obj,而不用masm32汇编软件,因为会出现一些小问题,因为masm32的bin目录下也有link程序,所以我把masm5.1版的link.exe改名为link5.exe来区分
win32汇编用masm32汇编时会遇到windows.inc等无法打开的问题:
解决windows.inc无法打开的问题可以用批处理文件解决,也可以用全路径解决,最好的是用设置环境变量解决
1.批处理文件解决:编写批处理文件**.bat,内容为:
@echo off
set masmhome=C:/masm32
set path=%masmhome%/bin;
set include=%masmhome%/include;
set lib=%masmhome%/lib;
@echo 汇编环境设置成功
@echo on
在dos环境下运行该批处理文件,然后
编译:ml /coff /c **.asm(注意参数之间有空格)
链接: link /subsystem:windows **.obj
这样就会产生一个exe文件,运行即可
2.全路径
在源代码中将.inc和.lib文件全部写为全路径,如C:/masm32/include/windows.inc,然后
编译:ml /coff /c **.asm
链接: link /subsystem:windows **.obj
这样就会产生一个exe文件,运行即可
3.设置环境变量
我的电脑->属性->高级 里新建 变量INCLUDE:C:/masm32/include 和LIB:C:/masm32/lib,在path里添加C:/masm32/bin,然后
编译:ml /coff /c **.asm
链接: link /subsystem:windows **.obj
这样就会产生一个exe文件,运行即可
如果程序需要用到外部文件,如图片文件,就要先建立一个**.rc文件(用记事本就可),然后rc **.rc 产生一个**.res文件,连接时用link/subsystem:windows **.obj **.res即可
设置环境变量可以扩大作用范围,一步到位