回 帖 发 新 帖 刷新版面

主题:win32汇编怎样编译、连接?(50分)

书上说的不清楚,求教达人
再拜!(50分)

回复列表 (共2个回复)

沙发

我不是说过去WWW.aogosoft.com下载个编译器MasmPlus吗。
那里的基础教程也很多,自己找下。

板凳

推荐《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目录下使用。

我来回复

您尚未登录,请登录后再回复。点此登录或注册