主题:win32汇编怎样编译、连接?(50分)
zhoudavid
[专家分:240] 发布于 2006-06-24 11:24:00
书上说的不清楚,求教达人
再拜!(50分)
回复列表 (共2个回复)
沙发
chenzep [专家分:3640] 发布于 2006-06-24 13:39:00
我不是说过去WWW.aogosoft.com下载个编译器MasmPlus吗。
那里的基础教程也很多,自己找下。
板凳
aboutbmp [专家分:830] 发布于 2006-06-25 22:46:00
推荐《Windows环境下32位汇编语言程序设计》一书,罗云彬著.
简单说明:
1. 安装masm32(假设安装目录为E:\masm32);
2. 假设平时将源代码都放在E:\Asm\Src\目录下;自己编辑一个bat文件(假设名字为sp.bat)放在此目录下,bat文件的内容如下:
@echo off
set include=E:\masm32\Include;E:\masm32\macros;%include%
set lib=E:\masm32\lib;%lib%
set path=E:\masm32\bin;%path%
echo on
3. 书写asm文件(如win.asm)和rc文件(如win.rc)
4. 在命令行中进入E:\Asm\Src\路径,执行sp.bat,然后可以进入asm文件所在目录下执行编译:
ml /c /coff win.asm
rc win.rc
Link /subsystem:windows /out:win.exe win.obj win.res
通常用makefile来加快编译,以免每次都重复上述输入,一个makefile的例子:
EXE = win.exe
OBJS = win.obj
RES = win.res
LINK_FLAG = /subsystem:windows
ML_FLAG = /c /coff
$(EXE) : $(OBJS) $(RES)
Link $(LINK_FLAG) /out:$(EXE) $(OBJS) $(RES)
.asm.obj:
ml $(ML_FLAG) $<
.rc.res:
rc $<
clean:
del *.obj
del *.res
可以将一个nmake.exe(VC所带)或make.exe拷贝到E:\masm32\bin目录下使用。
我来回复