Visual Studio 2013关闭

时间:2015-06-17 20:02:41

标签: visual-studio visual-studio-2013

我最近安装了Visual Studio 2013,所以我对它比较新。我试图运行以下代码:

#include <iostream>

int main()
{
    std::cout << "Hello World! ";
}

但是应该打开的终端显示&#34; Hello World&#34;立即关闭,并没有让我有机会看到它是否被打印。

程序输出:

The program '[480] Project2.exe' has exited with code 0 (0x0).

另外,我已经阅读过一些建议在main()结束前添加系统(&#34;暂停&#34;)的帖子,但为什么我需要在第一篇文章中执行此操作地点?我的Visual Studio有问题吗?

提前致谢!

3 个答案:

答案 0 :(得分:1)

Visual Studio的一切正常 这是您的计划的可预期行为。

首先,您需要了解Visual Studio在编译和运行后不会以某种方式影响程序执行过程。它不应该暂停程序&#34;在执行结束时。因此,如果通过单击Visual Studio中的F5或在Visual Studio外部以exe - 文件运行应用程序来运行应用程序,则会得到相同的结果。

现在的问题是另一个问题:&#34;为什么控制台应用程序在执行后立即关闭而不是在最后暂停并让我阅读某些内容&#34;?答案是这就是应该如何执行控制台应用程序。它启动,执行一些代码并返回0(在一个好的情况下)。 如果它们在控制台中运行,则执行结果将在控制台中显示。 但是,如果它们作为应用程序在控制台外部运行,它们会打开控制台,输出内容并在您阅读之前关闭。

例如,选择runas应用程序。 尝试打开控制台(Win+R - &gt; cmd)并输入

runas

您将看到有关如何使用runas应用程序的帮助。输出后,它将关闭,控件将返回cmd.exe。您将能够运行其他应用程序。

现在,尝试再次使用cmd在控制台外打开它(不要害怕,绝对安全):

%windir%\system32\runas.exe

相同的信息将输出到控制台,但您可能没有时间阅读任何内容。

总结一下:您的控制台应用程序应该执行某些操作,输出一些信息并在其后关闭。这就是他们的工作方式。但是,在开发过程中,您必须在应用程序的最后放置&#34;暂停&#34;,断点或其他内容以查看执行结果。
至于我,最方便的方法是在应用程序的末尾插入这一行。

Console.ReadKey();
return 0;

您也可以使用Ctrl+F5在控制台中运行应用程序而无需调试 它将执行pause控制台命令,输出&#39;按任意键继续...&#39;在结束之前。但是,您无法对其进行调试。

答案 1 :(得分:1)

调试&gt;无需调试即可启动

  

Ctrl + F5

答案 2 :(得分:0)

尝试添加以下两行:

system("pause>nul");
return 0;