问题描述
最近开始学习86汇编并制作了一个基本的helloworld.exe,但是当我通过cmd运行它时,没有任何输出。我确实从中得到了一次输出,并且没有更改任何代码。它也可以很好地组装和链接,所以我不确定为什么运行它时什么也没发生。
cmd图片
这里是代码,以防万一我搞砸了
.386
.model flat,stdcall
option casemap :none
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
message db "HelloWorld!",0
.code
main:
invoke StdOut,addr message
invoke ExitProcess,0
end main
解决方法
谢谢Michael Petch,不确定如何将您的评论标记为答案(第一次使用堆栈溢出),Masm32上的默认链接器就是问题,使用/ SUBSYSTEM:CONSOLE作为通过命令行的链接器解决了该问题。