我试图寻找在这里类似的问题,但所有这些都太复杂了,我刚开始用C++做我的Hello World,这里的代码,以防万一:项目过时的VS2012
#include <iostream>
int main() {
std::cout << "Hello World!\n";
return 0;
}
它只工作正常,如果我编译它,然后开始没有调试,没有重建它(当它说它已过时)。 如果我开始调试它仍然说它已经过时,但不管是否重建它,控制台显示为半秒钟,然后程序退出。 这是为什么?
我试图寻找在这里类似的问题,但所有这些都太复杂了,我刚开始用C++做我的Hello World,这里的代码,以防万一:项目过时的VS2012
#include <iostream>
int main() {
std::cout << "Hello World!\n";
return 0;
}
它只工作正常,如果我编译它,然后开始没有调试,没有重建它(当它说它已过时)。 如果我开始调试它仍然说它已经过时,但不管是否重建它,控制台显示为半秒钟,然后程序退出。 这是为什么?
那是因为你的程序,然后执行完成通过你
return 0;
所以它发生和完成几乎是瞬间,你需要一种方法能够“暂停”你的应用程序的执行,看看你的输出中。你可以做std :: cin >>。但我会建议使用系统暂停所有你需要补充的是
System("pause");
和
#include <stdlib.h>
让你的Hello World应用程序了应该像
#include <iostream>
#include <stdlib.h>
int main()
{
std::cout << "hello world\n";
system("pause");
return 0;
}
然而
system("pause")
是一个窗口由于各种原因应避免出现严重的应用。
有几种方式来观看这很快完成一个小程序的输出:
从std::cin
把一个无限循环while(true)
,或for(;;)
,
阅读。
刚刚从 main()
出口之前把一个断点在调试器。
从命令行重定向您的输出:my_program.exe > my_output.txt
。
我更喜欢方法号。 4,因为它不需要改变你的代码。
你检查http://stackoverflow.com/a/2853912/819272 – TemplateRex
是的,事情是我没有任何头文件,没有别的比我的源文件... – Als
程序退出,因为它完成运行。如果你想停下来,你可以在调试器的'return 0;'行中添加一个断点(这对于正确性来说不是必须的,因为它是隐含的) – TemplateRex