当前位置: 代码迷 >> 汇编语言 >> win32汇编如何编译?已经有工具了
  详细解决方案

win32汇编如何编译?已经有工具了

热度:297   发布时间:2016-05-02 04:55:47.0
win32汇编怎么编译?已经有工具了
win32汇编怎么编译?

看的是罗云彬的教程
下面这段程序在“RadASM.exe”里面就可以编译成*.obj文件
现在在源文件前面加上


ml /c /coff /Cp /nologo /I"C:\masm32\INCLUDE" "C:\masm32\BIN\WIN.asm"
link /subsystem:windows /LIBPATH:"C:\masm32\lib"  
自己用C:\masm32\BIN\bin目录下的ml.exe就编译不了了,
怎么回事,那里出错了
我是把源文件放到bin目录下面,直接把源文件托到ml.exe图标 ,也编译不了
出现一个黑框马上就消失了,也没有*.obj文件出现
怎么回事?原代码在RadASM.exe里面可以编译了滴,但就是加了上面的两行代码用ml.exe  就编译不了了





----------------------------------------------------程序:

.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib

.data
szCaption db 'A MessageBox !',0
szText db 'Hello, World !',0

.code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL

end start



汇编

------解决方案--------------------
加 ml 和link 的那两行?那是编译和链接的命令行,不是源程序的一部分;源程序,只要下面的那部分就可以了。
------解决方案--------------------
最好把bin路径加入PATH。省得每次都要cd xxx
------解决方案--------------------
要注意的是汇编选项要集中写在源文件名的前面,比如下面的两条命令:


你理解错了,是文件“名”前面,不是文件里的最前面。
听那两位浑身是牌子的,不会错。
------解决方案--------------------
ml 和 link 那两个命令就象你用的 radasm,是命令行上用的,在源程序里不需要写。
  相关解决方案