最近使用 VC2010 时,发现某些控制台项目在执行结束后会提示“按任意键继续”,而另一些则会直接退出。
经过对 .vcxproj 文件的一阵 diff 分析后,确定问题在于链接设置中的“子系统”项。只有当该项设置为“控制台”时,控制台输出才会暂停。如果该项没有设置,虽然编译器按照缺省值将它编译为一个控制台程序,但是 IDE 却没有暂停,这或许是 VC2010 IDE 的一个 bug。
解决方法很简单:打开项目文件的属性页(注意是项目文件不是解决方案文件),将配置属性 - 链接器 - 系统 - 子系统设为“控制台 (/SUBSYSTEM:CONSOLE)”即可。要注意的是不同配置方案的配置是相互独立的,比如你有 Debug|Win32、Debug|x64、Release|Win32、Release|x64 四个配置方案,那么你就得将它们的配置都改过来。
创建工程时,选择win32控制台项目,一般就会咱控制台程序结束时自动暂停;如果是win32空工程的话,不会自动在程序结束时暂停,须如上手动设置子系统为控制台,才会自动停止。
创建工程时,选择win32控制台项目,一般就会咱控制台程序结束时自动暂停;如果是win32空工程的话,不会自动在程序结束时暂停,须如上手动设置子系统为控制台,才会自动停止。
PS:此文应是转载的,忘记原链接了。