当我使用 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 的文件夹并直接运行它。这就是命令行程序的运行方式。
如果您必须在开发环境中运行它,也许是为了调试,然后在return
或exit
语句上放置一个断点,以便它在窗口关闭之前停止。 p>
【讨论】:
+1 用于设置断点,而不是像提示用户输入那样添加蹩脚的 hack。每次我在小示例程序中看到这种情况时,我总是认为最好在适当的环境中运行您的程序,或者在程序退出时不自动关闭的终端中运行。 “终端设置为在程序结束时不立即关闭”正是你从 Ctrl+F5 得到的,如果构建产品是一个控制台应用程序。 @BenVoigt 我以前从未见过 Visual Studio 以这种方式运行。这是您必须设置的选项吗? @MarkRansom:不,该命令在默认安装后位于“调试”菜单中。不过,在线帮助中似乎完全没有,因为它不完全适合任何类别(构建、调试、测试)。【参考方案3】:这个答案与 Ben Voigt 相同。我只是解释一下。 请检查此设置。
我通过这种方式解决了这个问题。 打开项目设置Console(/subsystem:console)”。
【讨论】:
以上是关于当我使用 control-F5 运行汇编语言程序时,Visual Studio 没有打开 DOS 窗口的主要内容,如果未能解决你的问题,请参考以下文章
当我在android中更改应用程序中的语言环境时如何重新加载当前视图