社区
C++ 语言
帖子详情
C++ 为什么要设置 exit() abort()这种不完全释放资源的退出方法?
wh_
2016-09-29 10:05:57
感觉没有什么用还不释放资源。
...全文
1371
10
打赏
收藏
C++ 为什么要设置 exit() abort()这种不完全释放资源的退出方法?
感觉没有什么用还不释放资源。
复制链接
扫一扫
分享
转发到动态
举报
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
珍惜生命远离CPP
2016-09-29
打赏
举报
回复
exit会正确释放资源,全局对象之类的都会正常析构。 abort 一般是无法恢复错误的时候调用,某些对象不析构很正常。
flyrack
2016-09-29
打赏
举报
回复
都选择自杀了 还管自己的财产归谁啊
paschen
版主
2016-09-29
打赏
举报
回复
你main函数结束后也是通过exit结束进程的
exit
和
abort
及return的区别
此外,
C++
11引入了智能指针(如unique_ptr、shared_ptr)和RAII(Resource Acquisition Is Initialization)原则,这极大地简化了
资源
管理问题,使得开发者不需要依赖于at
exit
和
exit
()函数来保证
资源
的正确
释放
。...
C与
C++
中的异常处理
`
abort
()`会立即停止程序并生成一个核心转储,而`
exit
()`允许程序执行完清理操作后再
退出
。 2. `
abort
()`: `
abort
()`是C库中的一个函数,用于在程序遇到严重错误时强制终止运行。它不提供任何清理机会,而是直接...
cpp-returnto
abort
使用代码内省来防止堆栈崩溃
3. **安全
退出
**:这个陷阱代码应当清理任何必要的
资源
,例如关闭打开的文件、
释放
动态分配的内存,然后调用`
abort
()`或`
exit
()`函数以非零状态
退出
,表明程序遇到不可恢复的错误。 4. **日志记录**:在程序
退出
前...
你必须知道的495个C语言问题
3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); ...
《你必须知道的495个C语言问题》
3.15 我要检查一个数是不是在另外两个数之间,为什么if(a b c)不行? 40 3.16 为什么如下的代码不对?int a=1000, b=1000; long int c=a * b; 40 3.17 为什么下面的代码总是给出0?double degC, degF; degC= ...
C++ 语言
65,182
社区成员
250,527
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章