VC快速强制退出程序方法

简介:

首先为什么要快速强制退出应用程序.

1.想快点结束程序,关闭自己,节约时间

2.正常退出时(或者关闭窗口时)崩溃,出来一个对话框

“XXX已停止工作,Windows 正在检查该问题的解决方案…”,一时找不到原因解决,总不能关闭的时候老看见这个框吧.

3.写的代码是给自己用的,不严格,所以如果正常退出,会调用一大堆析构函数,可能又涉及到多线程,必崩溃,这时就不得不考虑用快速简单粗暴的方法了.

4.快速退出程序没有多少影响,系统会帮你回收所有东西,所以不用担心内存泄露等, 唯一的影响就是你可能来不及保存一些窗口的配置,文件来不及保存等等了.

转到正题,目前有以下几个函数可以快速退出程序.

exit(0)  调用全局或者静态对象的析构函数然后退出
ExitProcess(0)  调用全局或者静态对象的析构函数然后退出
abort()  不调用全局或者静态对象的析构函数,
但在Release下弹出”XXX已停止工作,Windows 正在检查该问题的解决方案…”,
在Debug下会弹出”Debug Error!…”,不好用
TerminateProcess(GetCurrentProcess(), 0)    不调用全局或者静态对象的析构函数,干净利落的退出,程序员的大爱啊

注:

以上函数都会退出程序,忽略局部对象的析构和后面的代码.
就是此函数不会返回,直到程序终止.

总结就是如果碰到关闭时出现崩溃就使用TerminateProcess(GetCurrentProcess(), 0)来退出,哈哈,顿时清爽了.

 

测试环境:

Window 7,VC(VS/Visual Stdio)2010

目录
相关文章
|
IDE 开发工具 C++
VS2015+Qt5.9.8编译报错:error MSB6006: “cmd.exe”已退出,代码为 2
VS2015+Qt5.9.8编译报错:error MSB6006: “cmd.exe”已退出,代码为 2
2781 0
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
关于 QtCreator中写Qt程序遇到printf不输出问题 的解决方法
|
8月前
|
Web App开发 缓存 iOS开发
强制退出Mac程序的六种方法
强制退出Mac程序的六种方法
188 2
|
IDE 开发工具 C++
[记录][问题]Win32调用C++/WinRT DLL
[记录][问题]Win32调用C++/WinRT DLL
|
8月前
|
数据采集 Windows
LabVIEW调用DLL时出现异常0xc0000005代码
LabVIEW调用DLL时出现异常0xc0000005代码
88 0
|
数据安全/隐私保护 Windows
VC中的system函数
VC中的system函数
161 0
由于知道不到mfc110u.dll,无法继续执行代码。
由于知道不到mfc110u.dll,无法继续执行代码。
297 0
由于知道不到mfc110u.dll,无法继续执行代码。
|
程序员 C++
VS2015+Qt5.9.1编译报错:Moc系统找不到指定路径,error MSB6006 cmd.exe 已退出,代码为3 -- 完美解决
VS2015+Qt5.9.1编译报错:Moc系统找不到指定路径,error MSB6006 cmd.exe 已退出,代码为3 -- 完美解决
2603 0