abort() 和 exit () 的区别
如题所示, 这两个函数有什么区别 ? 它们的适用场合是什么?
-----------------------------------------------
exit和abort都是用来终止程序的函数,都是存在于stdlib中的函数,他们的不同如下:
exit会做一些释放工作:释放所有的静态的全局的对象,缓存,关掉所有的I/O通道,然后终止程序。如果有函数通过atexit来注册,还会调用注册的函数。不过,如果atexit函数扔出异常的话,就会直接调用terminate。
abort:立刻terminate程序,没有任何清理工作。
-----------------------------------------------
补充一下,如果是用c++的话,exit调用的时候,对象还是不会被正确析构的,所以在exit前一定要释放应该释放的资源,特别内核驻留的像共享内存之类
C/C++ abort() 和 exit () 的区别 stdlib中的函数
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Android C++系列:JNI调用时的异常处理
轻口味
2021-11-19 10:03:53
国内最大的C++软件项目之一,WPS的“自守”之道
罗燕珊
2021-10-28 14:23:59
谈 C++17 里的 Memento 模式
hedzr
2021-10-18 14:13:51
谈 C++17 里的 State 模式之二
hedzr
2021-10-12 21:03:51
英特尔最新版C/C++编译器采用LLVM架构,性能提升明显
James R Reinders
2021-09-17 10:48:52
C++实用指南
Bartlomiej Filipek
2021-07-22 10:03:58
编程语言巅峰之战,谁才是真正的王者?| InfoQ编程语言排行榜
田晓旭
2021-07-20 11:43:51
SpaceX龙飞船性能要求严苛,软件开发存挑战
凌敏
2021-05-14 13:43:55
纵观20年间国外码农的薪酬变化:涨幅下降,初级编码岗大幅消失
NICOLE KOW
2021-03-22 18:35:29
如果编程语言是《权力的游戏》中的角色?(上)
Sajid Lhessani
2021-03-22 18:35:23
InfoQ 编程语言 2 月排行榜,更好的投票活动来了
InfoQ 中文站
2021-03-22 18:34:58
InfoQ 编程语言1月排行榜:邀你投票
InfoQ 中文站
2021-01-21 17:28:56
2021年最值得学习的10种编程语言
Statistics and Data
2021-01-19 14:13:58
我是如何爱上 Julia 编程语言的?
Emmett Boudreau
2020-12-29 14:24:00