VC2010编译C程序结束后黑框一闪,嘿嘿,如何解决?嘿嘿

万年坟问题,当我再次看到这个问题之时,顿时有一种穿越的感觉,感觉到什么呢,嘿嘿,就是所有曾学到的东西都还给了老师,又 rebuild,,,变回1一个彻彻底底的菜逼,嘿嘿,,,

《《《解决问题的答案再贴一遍》》》》

点击Debug运行之后出现

The program '[140] MyExecRefsDll.exe: Native' has exited with code 0 (0x0)
并且那个黑框一闪就没有了

问题分析

出现这个提示,其实表示当前程序是完全正确的,它显示了程序在加载调试时的调试信息。那个 has exited with code 0(0x0) 返回这个代码0 表示程序是正常的运行和结束的。

如果出现那个黑框一闪而过,解放方案有两个


1. 不直接点击Debug 或 F5来运行, 而是用Ctrl + F5 来运行  【备注:这才是最简单的方法,原理,看下面加粗的那句话,嘿嘿】


2. 是在程序的最后加上一句
System("pause");

或者

printf("Press any key to continue... ");

_getch();
————————————————
版权声明:本文为CSDN博主「小龙王2010」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaolongwang2010/article/details/8496593

====================================================

(转)因为我们老师要求我们要会用VC++6.0和VS中的C++编程,今天正常安装好后,编写一个正确的程序,可运行的时候,DOS窗口一晃而过,也算是正常编译了,但我不懂的是它为什么消失得这么快?

会出现dos界面是因为你程序中可能用到了需要用dos显示结果(或者输入之类的)的函数,比如printf()函数,马上消失是因为你执行程序是一步到位的,dos界面做完你需要它做的事情之后就被销毁了,如果你想看清楚整个过程,可以设置断点,单步执行下,看看程序的运行过程

在谷歌和百度上查了,有这些解答:

1)你运行的应该是控制台应用程序,需要在main代码最后return 0之前添加一个暂停函数,该函数作用为从标准输入获取字符然后程序才会继续运行,比较典型的为c程序中可以用getchar() ,getchar()包含在头文件stdio.h中。也可以调用system("pause"); ,这是一个windows的cmd命令暂停,在控制台程序中体现为获得任意键盘消息后程序继续,被包含在c库stdlib.h中

2)其实还有一个更好的解决办法:在你的项目条目(project)上右击鼠标,在弹出菜单上选择最后一项“property/属性”,在左边的一栏里找到“配置属性->链接器->系统”,点击“系统”项后,在右边的栏的“子系统(subSystem)”将刻项的值配置为"Console(/SUBSYSTEM:CONSOLE)"。

    经过这样的配置后,再按 Ctrl+F5,程序运行完毕后就会停留在控制台界面,提示你“请按任意键继续”。 到此,问题完美解决。 

3)还可以通过设置断点,逐步调试看运行结果。

4)改运行方式
       新开cmd.exe窗口:                        
       C:> D:                                             //切换盘符
       D:> cd  mypath                           // 切换目录

       D:mypath>my.exe                     //执行程序:

原文地址:https://www.cnblogs.com/Thermo/p/15320772.html