如何防止程序崩溃
2019-09-23 08:44:13来源:博客园 阅读 ()
如何防止程序崩溃
//程序崩溃规避
//Windows
1、设置编译器"Enable C++ Exceptions"为"/EHa",即"Yes with SEH Exceptions",
使得应用程序可以捕获因自身引起的大部分系统异常,少部分不可回避的系统异常依然
会导致程序崩溃退出;
2、用"try{}catch(...){}"包裹可能会发生崩溃(越界、段错误、除零等操作)的代码段,
在catch中处理异常。
* 高版本VC提供_set_invalid_parameter_handler函数,亦可处理致命异常,因为这个
是全局生效的,所以不推荐使用。
//Unix
1、越界、段错误、除零等操作通常会触发信号"SIGSEGV",可以使用signal函数设定指定
信号的处理函数,除了"SIGSEGV",还有若干个可被应用程序截获的信号,可以根据自
己的需求去截获这些信号信号并处理;
2、如果想跳回某一处代码(比如崩溃之前设置的"jmp_buf"标志),可以在signal处理函
数中使用longjmp函数跳转至指定的"jmp_buf"标志处。
* 因为部分信号为标C里定义的,针对部分信号(比如"SIGSEGV")的截获处理亦适用于Windows平台。
原文链接:https://www.cnblogs.com/Code-Killer/p/11559253.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 如何0基础学习C/C++? 2020-06-06
- C语言程序结构 2020-05-31
- ftp客户端封装 2020-05-10
- C代做 C++代做 C++编程代做 C++程序代做 2020-04-29
- 测量C++程序运行时间 2020-04-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash