打开c语言生成exe文件,出现闪退的解决方法
2013-11-04 10:50
651 查看
额,在给大一学弟上第一节实验课的时候,经常有学弟问我,为什么打开c语言生成的exe文件,立马闪退。
起初个别问的时候,我只是简单的说明程序运行完了,就自动关了,现在先不用涉及这个,以后自然懂了。
但是后来问的人多了,我就觉得有必要先给他们提一下了。
首先,生成的exe文件本质是控制台程序,这些都是依赖于windows的控制台窗口,程序执行完就退出了。(比如,如果你程序中有scanf语句,那么打开exe的时候不会立马结束,而是等待你的输入,等跑完程序,再自动关闭,就是这个道理)
下面简单说几种常见的解决方法。
1.在代码段末尾加上getch();就可以了。(代码段末尾指你程序要执行完之前, 一般在return 0;之前)或者,加上getchar(); 也行。
原理就是停止,等待用户输入,即你没输入的话,程序就不算执行完毕。
个人认为getch();比较好。因为你加getch();是按任意键退出,而getchar();,你可以输入若干个字符然后按回车才会结束。
2.加个头文件windows.h,然后在代码段末尾加个 system("pause");
这里的system就是调用从程序中调用系统命令(和shell命令)。
system("pause")就是从程序里调用“pause”命令;
而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。还是同样的道理,等待用户输入,才能算执行完毕。
3.在exe文件同目录下新建一个txt文档,里面输入如下内容
xx.exe
pause
然后退出保存,把后缀txt改为bat然后运行,那个xx就是文件的名字。
然后打开.bat文件运行程序。(.bat文件命名随意)
这里的.bat文件是批处理文件(也被称为批处理程序或脚本)是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,操作系统就会按照该文件中各个命令出现的顺序来逐个运行它们。(使用批处理文件,可以简化日常或重复性任务。)
这里执行了xx.exe这个程序,并且调用了pause。 类似解决方案2.
方法当然不唯一,这里简单介绍了3种。 希望对大家有所帮助。
学习的路上,与君共勉。
起初个别问的时候,我只是简单的说明程序运行完了,就自动关了,现在先不用涉及这个,以后自然懂了。
但是后来问的人多了,我就觉得有必要先给他们提一下了。
首先,生成的exe文件本质是控制台程序,这些都是依赖于windows的控制台窗口,程序执行完就退出了。(比如,如果你程序中有scanf语句,那么打开exe的时候不会立马结束,而是等待你的输入,等跑完程序,再自动关闭,就是这个道理)
下面简单说几种常见的解决方法。
1.在代码段末尾加上getch();就可以了。(代码段末尾指你程序要执行完之前, 一般在return 0;之前)或者,加上getchar(); 也行。
原理就是停止,等待用户输入,即你没输入的话,程序就不算执行完毕。
个人认为getch();比较好。因为你加getch();是按任意键退出,而getchar();,你可以输入若干个字符然后按回车才会结束。
2.加个头文件windows.h,然后在代码段末尾加个 system("pause");
这里的system就是调用从程序中调用系统命令(和shell命令)。
system("pause")就是从程序里调用“pause”命令;
而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。还是同样的道理,等待用户输入,才能算执行完毕。
3.在exe文件同目录下新建一个txt文档,里面输入如下内容
xx.exe
pause
然后退出保存,把后缀txt改为bat然后运行,那个xx就是文件的名字。
然后打开.bat文件运行程序。(.bat文件命名随意)
这里的.bat文件是批处理文件(也被称为批处理程序或脚本)是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,操作系统就会按照该文件中各个命令出现的顺序来逐个运行它们。(使用批处理文件,可以简化日常或重复性任务。)
这里执行了xx.exe这个程序,并且调用了pause。 类似解决方案2.
方法当然不唯一,这里简单介绍了3种。 希望对大家有所帮助。
学习的路上,与君共勉。
相关文章推荐
- 解决C语言中生成的EXE文件执行后窗口消失方法
- cxfreeze打包工程文件生成.exe,运行exe出现闪退问题,相关解决办法总结
- vs2013或2012运行c语言出现:无法查找或打开 PDB 文件,解决方法
- 解决C语言中生成的EXE文件执行后窗口消失方法
- 解决打开CHM格式文件出现“网页不能浏览”错误的方法
- eclipse打开文本文件出现乱码解决方法
- Windows系统无法打开.exe可执行文件的4种解决方法
- 关于linux中使用vim打开文件出现^M的解决方法
- 解决mindmanager2012打开文件出现runtime error错误的方法
- Excel每次打开文件都会出现一个空白sheet1文件的一个解决方法
- Win7系统无法打开.exe文件解决方法
- ubunt打开txt文件出现乱码的解决方法
- 上传ipa出现的错误提示“application loader上传出错 生成的API分析文件太大”解决方法
- 在 Visual Studio 中打开编辑 cshtml 文件时出现错误:未能完成该操作 无效指针 的解决方法
- .NET下编译C++代码时出现fatal error C1083: 无法打开包括文件:“xuhk_JNIHelloWorld.h”: No such file or directory错误的解决方法。
- 打开一个类文件时出现:Cannot open precompiled header file 的错误的解决方法
- [C#]连接带有密码的ACCESS数据库时出现“无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法
- VS2013配置OpenCV2.4.9出现fatal error LNK1104:无法打开文件kernel32.lib的解决方法
- 解决打开Android SDK Manager时出现“.....\sdk\tools\lib\\find_java.exe不是内部或外部命令,也不是可运行的程序或批处理文件“问题
- 命令行下使用javah命令生成.h文件,出现“错误: 无法访问android.app.Activity 找不到android.app.Activity的类文件”的解决方法