当我使用 control-F5 运行汇编语言程序时,Visual Studio 没有打开 DOS 窗口

Posted

技术标签:

【中文标题】当我使用 control-F5 运行汇编语言程序时,Visual Studio 没有打开 DOS 窗口【英文标题】:Visual Studio doesn't open a DOS window when I run my Assembly language program with control-F5 【发布时间】:2018-02-06 03:16:15 【问题描述】:

我已经设置好了一切。当我单击 Ctrl+F5 时,它不显示任何内容。我只希望它用黑色窗口显示我的名字。我该怎么做?

【问题讨论】:

我相信 CTRL+F5 是在 Visual Studio 调试器下重新启动。您应该只需要 F5 在调试器下运行程序。如果在调试器中停止(比如在断点处),那么 CTRL+F5 应该适合你。 @jww:不,Ctrl+F5 是“无需调试即可生成构建目标”。如果构建目标是控制台可执行文件,它也会在子进程退出后,在关闭窗口之前暂停。 它不是一个 DOS 窗口,它是一个 cmd 或 powershell 控制台。 They're different。还有don't put images of code or error messages 【参考方案1】:

您很可能将子系统设置为“Windows 应用程序”,这意味着该进程将在没有关联控制台的情况下启动。然后尝试写入将失败。

您可以将控制台与AttachConsole() 和/或AllocConsole() 关联,也可以通过链接器命令行 (/SUBSYSTEM:CONSOLE) 更改子系统。

【讨论】:

【参考方案2】:

不要在开发环境中运行程序,而是打开命令提示符窗口并导航到创建 .exe 的文件夹并直接运行它。这就是命令行程序的运行方式。

如果您必须在开发环境中运行它,也许是为了调试,然后在returnexit 语句上放置一个断点,以便它在窗口关闭之前停止。 p>

【讨论】:

+1 用于设置断点,而不是像提示用户输入那样添加蹩脚的 hack。每次我在小示例程序中看到这种情况时,我总是认为最好在适当的环境中运行您的程序,或者在程序退出时不自动关闭的终端中运行。 “终端设置为在程序结束时不立即关闭”正是你从 Ctrl+F5 得到的,如果构建产品是一个控制台应用程序。 @BenVoigt 我以前从未见过 Visual Studio 以这种方式运行。这是您必须设置的选项吗? @MarkRansom:不,该命令在默认安装后位于“调​​试”菜单中。不过,在线帮助中似乎完全没有,因为它不完全适合任何类别(构建、调试、测试)。【参考方案3】:

这个答案与 Ben Voigt 相同。我只是解释一下。 请检查此设置。

我通过这种方式解决了这个问题。 打开项目设置Console(/subsystem:console)”。

【讨论】:

以上是关于当我使用 control-F5 运行汇编语言程序时,Visual Studio 没有打开 DOS 窗口的主要内容,如果未能解决你的问题,请参考以下文章

Golang内部构件,第5部分:运行时引导程序

如何更改汇编目录? VS无法在文件夹中找到程序集

当我在android中更改应用程序中的语言环境时如何重新加载当前视图

当我对一个程序进行采样并且它实际上比不进行分析时运行得更快时,为啥会这样?

XCode 5 即时本地化应用程序名称

当我尝试运行我的 WEB 应用程序时,我收到此错误 [重复]