helloworld.exe有时仅在命令行上提供输出

问题描述

最近开始学习86汇编并制作了一个基本的helloworld.exe,但是当我通过cmd运行它时,没有任何输出。我确实从中得到了一次输出,并且没有更改任何代码。它也可以很好地组装和链接,所以我不确定为什么运行它时什么也没发生。

cmd图片

1

这里是代码,以防万一我搞砸了

.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作为通过命令行的链接器解决了该问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...