其实这也是一个很土鳖的问题,很多时候当我们写完程序,然后点一下那个绿色的三角,程序就一闪而过,跟你根本看不清运行的结果。实际上,这根本不是编译器设计的不合理的问题,而是你根本就没有正确使用编译器:绿色的三角代表的是调试;而真正的执行(就是对应于vc++6.0的那个感叹号)是绿色的空心三角,在调试菜单下面,如果输入它,那么就会得到点击运行后程序运行完不关闭窗口的特点。
如果你不喜欢这样,还有一种简单办法,就是在整个程序的return 0之前,加上一句system("pause")。system表示使用的是系统调用。而pause则表示的是“等待按键”这个系统调用,你在命令行模式下输入cmd,也会显示:“请按任意键继续”。
对于一些特别的库,可能自己设置了类似的功能,并把它们封转成函数,比如opencv中,有waitkey表示等待按键按键。
PS:最近重装了电脑,结果发现VS2010下写一个helloworld程序,然后ctrl+F5以后还是会一闪而过,几经查阅,还是找到了办法:
项目->属性->配置属性->链接器->系统->子系统->控制台 增加“/SUBSYSTEM:CONSOLE”链接选项
通过修改这个选项,就能解决问题了。