Cra*_*aig 0 windows assembly masm errorlevel masm32
我想得到我的教程汇编程序的退出代码(使用masm32和链接).它工作正常,我会输入echo %errorlevel%
,它会显示我输入的退出代码invoke ExitProcess
.现在它不再起作用了.我在OpenSuse 12.1主机和Windows Vista Home Premium上使用VirtualBox作为访客.我已经找到了答案,但已经缩短了.大多数抱怨是关于使用批处理文件,这不是我想要做的.这是一个简单的程序
hello_world.asm
.586
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
.data
HelloWorld db "Hello World!", 0
.code
start:
invoke MessageBox, NULL, addr HelloWorld, addr HelloWorld, MB_OK
invoke ExitProcess, 2
end start
Run Code Online (Sandbox Code Playgroud)
我希望它返回2,但echo %errorlevel%
返回0.有什么我想念的吗?谢谢,我道歉这个问题已经被解决了.我找不到答案.
编辑:实际上,我找到了部分答案.它只适用于我链接使用/SUBSYSTEM:CONSOLE
.使用/SUBSYSTEM:WINDOWS
始终返回0.我不知道该怎么做.带有Windows程序的退出代码在哪里?任何信息非常感谢.
如果您的子系统是Windows,则命令处理器立即返回命令提示符,而不等待程序退出.(notepad
例如,尝试一下.)由于时间旅行还没有发明,它无法告诉你程序的退出代码是什么,因为程序还没有退出.
归档时间: |
|
查看次数: |
527 次 |
最近记录: |