为什么程序退出前还要释放动态申请的内存资源

本文讨论了程序退出前后释放资源的必要性。虽然操作系统会在程序退出后回收资源,但手动释放资源能提升程序的扩展性和维护性。文章还提到了不同观点,包括iOS平台上的特殊考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文见:http://programmers.stackexchange.com/questions/140483/is-it-a-waste-of-time-to-free-resources-before-i-exit-a-process

  既然OS会在程序退出后清理资源,为什么还需要程序员在程序退出前一个个的释放资源?是不是没有必要?还是OS的释放还有不一样的行为?

  作者强调这只是个学术性的探讨,不涉及边界效应,编程习惯等等。

 几个比较中肯的回答,但是这些回答大多没有把重点放在程序退出时候,因为提问者很关心这个时间点

1.  分配和释放的接口可以保证程序的扩展性,方便集成到更大的系统

        2 释放的动作可以附庸

        3 去除恼人的类似purify的Waring,error

 也有人明确提出程序退出前的释放动作是没有意义的,因为无论如何OS会结果这些资源

 http://blogs.msdn.com/b/oldnewthing/archive/2012/01/05/10253268.aspx这个地方有人指出 IOS 手册指出 APP不要再退出前作清理操作而浪费电量~~~。

  但是最有很多的工程师来说,可能会习惯在退出是释放资源,这样可以保持一贯性,或者使工程师感觉心里舒服些,大概。

  而且软件是变化的,保证功能的完整性有助于扩展和维护,所以我觉得还是去手动释放这些资源吧,除非明确有IOS这样的特殊考虑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值