C++ 为什么要设置 exit() abort()这种不完全释放资源的退出方法?

wh_ 2016-09-29 10:05:57
感觉没有什么用还不释放资源。
...全文
1371 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shengchao.wang 2016-10-02
  • 打赏
  • 举报
回复
exit会正确释放资源,全局对象之类的都会正常析构。 abort 一般是无法恢复错误的时候调用,某些对象不析构很正常
勤奋的小游侠 2016-09-30
  • 打赏
  • 举报
回复
引用 6 楼 wh_2396 的回复:
[quote=引用 1 楼 flyrack的回复:]都选择自杀了 还管自己的财产归谁啊
那exit与abort不都自杀吗?为什么后者都不释放[/quote] exit通常都是用于正常退出用。 当已经走到abort这一步时,已经遇到很严重的错误了,一行代码都执行不下去了,那里还有机会释放资源。 就像一个电报兵在执行任务的路上遇到了几十万的黑暗军团一样,它唯一能做的就是马上通知上级操作系统,然后把自身的电报机密码毁掉逃跑,你难道还在盼 望这个小兵把周围方圆几十里内的无辜人民安顿好再逃跑吗?
sdghchj 2016-09-30
  • 打赏
  • 举报
回复
进程结束后,泄露的内存不是都会被系统回收么
drlmemory 2016-09-30
  • 打赏
  • 举报
回复
关于这个,刚搜到一篇CSDN帖子,讲的比较清楚 http://bbs.csdn.net/topics/390130642
drlmemory 2016-09-30
  • 打赏
  • 举报
回复
exit()函数是正常退出的,会做一些释放资源的工作,main函数的话就可以用exit()来结束,abort()一般是遇到严重的错误了,导致不自杀就没办法了,所以不释放是很正常的。
小灸舞 2016-09-30
  • 打赏
  • 举报
回复
它也想正确释放后再死,但它做不到啊
赵4老师 2016-09-29
  • 打赏
  • 举报
回复
不要企图优雅的结束(因为这是不可能办到的) 而要在烂的不能再烂的摊子上也能重整河山! http://bbs.csdn.net/topics/390787357
  • 打赏
  • 举报
回复
exit会正确释放资源,全局对象之类的都会正常析构。 abort 一般是无法恢复错误的时候调用,某些对象不析构很正常。
flyrack 2016-09-29
  • 打赏
  • 举报
回复
都选择自杀了 还管自己的财产归谁啊
paschen 版主 2016-09-29
  • 打赏
  • 举报
回复
你main函数结束后也是通过exit结束进程的

65,182

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧