本文简单介绍了Visual C++编写运行程序的步骤,解决Visual C++ 2010开发环境中运行程序时运行窗口一闪而过的问题,总结了“断点调试(F5)方法”、“开始执行(Ctrl+F5)方法”、“调试工具条方法”、“暂停语句或者输入等待方法”共4种方法,推荐使用非侵入的“开始执行(Ctrl+F5)”或者“调试工具条”解决方法。主要包括以下几个方面:

  • 控制台应用程序编写步骤
  • 断点调试(F5)方法
  • “开始执行”(Ctrl+F5)方法
  • “调试”工具条方法
  • 暂停语句或者输入等待方法

本文使用的软件版本:

  • Windows 10
  • Visual C++ 2010 Express

1.  控制台应用程序编写步骤

在Windows操作系统中通常会创建两类应用程序。一类是图形界面应用程序(GUI),一类是控制台应用程序(CUI)。C++语言的初学者在学习语法时一般都是从编写控制台应用程序开始的,如在使用Visual C++ 2010编写运行第一个C++程序一文中就介绍了如何使用Visual C++创建一个Win32控制台项目,编写并运行自己的第一个C++程序。根据上文,可以总结出编写Win32控制台应用程序的步骤为:

(1)创建Win32控制台项目

(2)编写C++源代码文件

(3)编译代码生成目标文件

(4)链接目标文件生成可执行程序文件

(5)调试/运行生成的程序文件

在Visual C++ 2010 Express集成开发环境中,第3步“编译”(Compile)和第4步“链接”(Link)又可以合称为“生成”(Build),就是把编译和链接过程一起完成,直接“生成”最终的可执行文件。最后一步“调试和运行”的目标就是“生成”阶段创建的可执行文件。如果在“生成”过程中发生任何错误,这个可执行文件都不会“生成”,第5步的运行也就无法进行下去了。

在集成开发环境中点击工具栏上那个绿色的小三角“启动调试(F5)”时,如果源程序有修改或者可执行文件不存在会弹出是否生成可执行程序的对话框,如下图所示:

这时肯定是要生成的了,点击“是”以后,输出框中会出现一些信息如下:

特别要注意的是最后一句,提示“程序Hello.exe已退出”,这说明这个程序已经正确“生成”并运行了,可是什么反映也没有怎么就退出了呢?

根据如何在命令提示符窗口下运行Win32控制台应用程序文中所说,打开命令提示符,进入到项目文件夹下的Debug目录,可以发现生成的Hello.exe文件,输入文件名还可以执行。这充分说明了程序的“生成”过程是完全正确的,只是在集成环境下运行时一闪而过,没法看清楚而已。每次“生成”完成后,使用命令提示符窗口运行毕竟显得有些麻烦,能不能不脱离开发环境直接察看程序运行的结果呢?

2. 断点调试(F5)方法

断点执行方法其实就是前面使用的点击绿色小三角的方法,也可以按F5键来实现这一功能。为什么在前面这个方法不能显示程序执行结果,现在就可以了呢?其实是因为这个方法本来是用来调试程序用的,如果在程序中设置了断点,在执行时就会在断点的地方停下来;如果没有断点那么程序的运行就一马平川,直至结束了。

知道了这个原理,我们只需要在最后一句 return 0 前面的灰色空白处双击设置一个红色圆点的断点。这个时候再按绿色小三角进行断点调试,就可以看到程序在断点处停了下来,红色断点上的黄色箭头指出了程序目前运行到了return语句处,并在此等待进一步的调试执行。这时可观察程序输出的结果,想要继续调试时就再点一下绿色小三角或者按F5键就行了。

3 开始执行方法(Ctrl+F5)

“开始执行”方法也称为Ctrl+F5方法,是“调试”菜单中的一个命令项,就是那个淡绿色的小三角,快捷键为Ctrl+F5。使用“开始执行”按钮会执行“生成”过程,然后运行程序,程序结束时命令提示符窗口不会关闭,而是出现“请按任意键继续...”的等待信息,方便观察程序输出的结果,在输入任意键后才会退出命令提示符窗口。

4 “调试”工具条方法

微型“生成”工具条其实是将“开始执行”按钮放到工具条上,方便随时点击。在工具栏空白位置点击鼠标右键,选择“自定义...”弹出工具栏自定义对话框如下:

勾选其中的“调试”工具栏,“关闭”自定义对话框后在工具栏上就会出现微型“调试”工具条,也会看到那个淡绿色的“开始执行”按钮。

如果“调试”工具栏中没有出现这个淡绿色的“开始执行”按钮,可点工具栏右下角的小三角,出现“添加或移除按钮”选项时再选择“自定义...”,打开命令自定义对话框如下:

点击右侧的“添加命令”按钮,打开添加命令对话框如下:

在“类别”栏中选择“调试”,然后在“命令”栏中选择“开始执行”,最后“确定”。这时就可以在“生成”工具栏中看到这个淡绿色的“开始执行”按钮了。

5 暂停语句或者输入等待方法

还有一类方法,是在程序末尾添加暂停语句如system("pause")在程序结束前暂停,或者添加输入语句如getChar()等在程序结束前读取键盘输入,也能起到了暂停程序执行的效果。但这两种方法对程序代码有侵入,从某种程度上来说是改变了程序的功能,所以并不提倡使用。

如果使用了system("pause")来暂停程序执行,同时又按了“开始执行”的淡绿色按钮,那么程序运行时就会出现两次暂停。

Visual C++ 运行窗口一闪而过的解决方法相关推荐

  1. Visual Studio控制台程序输出窗口一闪而过的解决方法

    Visual Studio控制台程序输出窗口一闪而过的解决方法 参考文章: (1)Visual Studio控制台程序输出窗口一闪而过的解决方法 (2)https://www.cnblogs.com/ ...

  2. win10开机有东西一闪而过_win10系统开机cmd窗口一闪而过的解决方法

    很多小伙伴都遇到过win10系统开机cmd窗口一闪而过的困惑吧,一些朋友看过网上零散的win10系统开机cmd窗口一闪而过的处理方法,并没有完完全全明白win10系统开机cmd窗口一闪而过是如何解决的 ...

  3. VS2017程序运行结果一闪而过的解决方法

    需要设置项目属性 1.如果没有"解决方案资源管理器"的情况 (在上方工具栏处选择"视图->解决方案资源管理器") 2.选择解决方案资源管理器中的项目名,选 ...

  4. Adobe Acrobat Reader 窗口一闪而过的解决方法

    适用于 Adobe Acrobat Reader XI 以及 DC 系列(本人亲测) 现象描述:点击 AcroRd32.exe ,出现正常程序界面后不到一秒自动关闭(闪退). 解决方法:在 AcroR ...

  5. 【VS编译器】运行结果一闪而过的解决方法

    设置项目属性,让执行结果停留在屏幕上.

  6. (Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法

    (Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法 参考文章: (1)(Windows7)Visual Studio 2017编译运行出现脚本错误的解决方法 (2) ...

  7. python cmd窗口名字_python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...

  8. 为什么电脑运行越来越慢?解决方法又是什么呢?

    文章目录 为什么电脑运行越来越慢?解决方法又是什么呢? 一,电脑运行慢的原因 二,提高电脑运行速度的方法 1,重启电脑 2,还原(重置)操作系统 3,关闭不使用的应用程序 4,清理垃圾文件 5,禁用不 ...

  9. python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)

    python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 参考文章: (1)python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) (2)https://www.cnblog ...

最新文章

  1. 2020 China Collegiate Programming Contest Changchun F - Strange Memory(dsu on tree + 位运算小技巧)
  2. mysql连接出现Unknown system variable ‘tx_isolation‘异常
  3. formatnumber js_javascript js format number 数字格式化
  4. Linux 上安装 SQL Server
  5. Cloud for Customer的mobile setting前台实现
  6. CRISPR基因编辑
  7. shell关闭指定进程
  8. 最新数据!妇科类用药领域,中成药占比高
  9. windows搭建yolo环境
  10. linux安装wineQQ
  11. 电赛日志——2016年TI杯大学生电子设计竞赛 A题:降压型直流开关稳压电源
  12. ios弱网测试_iOS模拟弱网测试
  13. Java图形化界面编程之——Swing
  14. python的def语句_关于语法:python def函数:如何指定函数的结尾?
  15. granite crushers in german
  16. ESP32开发二_LED闪烁灯
  17. PC端、手机端在线预览文档组件react-file-viewer与npm构建内存溢出
  18. linux 运行安卓游戏吗,桌面应用|在 Linux 上安装安卓 8.1 Oreo 来运行应用程序和游戏...
  19. 视觉SLAM(二):相机与图像
  20. BT源代码学习心得(四):种子文件的生成 -- 转贴自wolfenstein (NeverSayNever)

热门文章

  1. Matlab中定义接口超类
  2. 深富策略:周期股反弹有限 新能源是主基调
  3. 晚上有空做什么副业?业余时间怎么赚钱?
  4. MySQL学习博客第一篇
  5. JavaScript实现简易ATM
  6. 字节、字、bit、bite的关系
  7. 特里回归战世界杯 英足总主席力挺 霍奇森已拒绝
  8. [从头读历史] 第287节 神之物语 赫拉克勒斯的故事
  9. fusioncharts 属性
  10. com.alibaba.otter.canal.protocol.exception.CanalClientException