Visual Studio 2010在计划结束后退出

时间:2010-04-14 18:14:53

标签: c visual-studio-2010 visual-studio

我正在通过编译C程序来尝试Visual Studio 2010。在“DOS”命令窗口中显示解决方案后,窗口立即关闭。在Visual Studio 2008中,可以按任意键获取消息以继续并按下某个键关闭命令提示符窗口。如何在2010年设置此行为?

8 个答案:

答案 0 :(得分:19)

经过一番谷歌搜索后,我找到了this解决方案,不涉及修改代码。它包含一个涉及修改.vcxproj文件的解决方法。

要在Microsoft Visual C ++ 2010 Express中执行此操作(我假设它与Visual Studio 2010类似),请打开项目并导航到以下菜单:

Project->$YOURPROJECTNAME Properties...
    ->Configuration Properties
        ->Linker
            ->System->SubSystem

然后使用下拉列表选择控制台(/ SUBSYSTEM:CONSOLE)并应用更改。

“无需调试即可启动”现在应该做正确的事。

答案 1 :(得分:3)

发生这种情况的原因是因为现在在VS 2010中,默认情况下可以创建一个空的通用C ++项目,而无需通过向导。这导致VS 2010没有正确设置Console (/SUBSYSTEM:CONSOLE)标志,所以VS2010不知道它是一个控制台应用程序,它会发送通常的“按任意键......”提示。

如果从“新建项目”菜单中创建控制台应用程序项目类型,则不会发生此问题。

但是,您可以通过项目/设置自己和其他许多人设置此标志,因为上面的帖子已正确回答!

答案 2 :(得分:2)

这很正常。 “DOS”控制台窗口附加到您的程序,并且应该在程序完成时退出。如果您希望它保持打开状态,则需要向程序添加代码以使其保持打开状态。您所要做的就是添加一个print语句,然后在程序结束时输入语句。

答案 3 :(得分:2)

如果您希望它保持打开状态,则需要在程序中添加代码。喜欢它

#include <stdio.h>
#include <stdlib.h>

... main(...)
{
    your codes
         .
         .
         .

     system("pause");

}

如果您添加此代码,则黑屏会保持打开状态。 “系统(”暂停“)”在stdlib.h头文件中。

答案 4 :(得分:1)

FWIW,“启动无调试”命令在VS2010中的工作方式与以前的Visual Studio版本中的方式完全相同(也就是说,对于控制台项目,当进程以“按任意键”终止时控制台保持打开状态继续......“提示”。

那么,究竟你是如何让VS2010运行你的程序的呢?如果您使用的是“Ctrl-F5”快捷键,是否可以在“选项/环境/键盘”中验证Ctrl-F5是否绑定到Debug.StartWithoutDebugging

另外,您可以尝试使用菜单运行程序(“Debug / Start Without Debugging”)?

答案 5 :(得分:1)

将“无需调试启动”引入“调试”菜单...

工具&gt;&gt;自定义&gt;&gt;命令(Tab)&gt;&gt;菜单栏(下拉列表)&gt;&gt;调试(控制选项)&gt;&gt;添加命令(按钮)&gt;&gt;调试(类别列表)&gt;&gt;无需调试即可启动

使用“无需调试启动”将允许VS2010在退出前显示“按任意键继续”短语。

答案 6 :(得分:0)

如果在没有调试器的情况下启动应用程序(“不启动调试”),控制台窗口将保持打开状态,直到您按下某个键。

答案 7 :(得分:0)

您可以添加此功能并在从main()返回之前调用它:

void keep_window_open()
{
    // clear buffer
    fflush(stdin);
    printf("Please enter a character to exit\n");
    char ch;
    ch = getchar();
    return;
}

我在Bjarne Stroustrup网站的实用程序头文件中使用C ++版本进行了修改: http://www.stroustrup.com/Programming/std_lib_facilities.h