免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 2372 | 回复: 20
打印 上一主题 下一主题

问大家一个关于内存释放的问题,多谢高手帮忙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-08 16:05 |只看该作者 |倒序浏览
我使用malloc函数申请的内存资源,如果不用free函数释放的话
在进程结束的时候这些内存资源是不是被释放了呢?
我认为应该是的,因为使用malloc是在本进程的堆区分配的内存资源,在本进程结束时,本进程的内存映像都已经全部被释放了,这部分内存资源当然也应该被释放掉!
不知道小弟的观点对不对

或者说,在不同的unix实现下,有不同的处理方式??

论坛徽章:
0
2 [报告]
发表于 2004-12-08 16:31 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

是。都释放

论坛徽章:
0
3 [报告]
发表于 2004-12-08 16:53 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

谁说的?
malloc ->; brk() 最终建立page的映射,进程结束的时候,不会去除进程引用计数

论坛徽章:
0
4 [报告]
发表于 2004-12-08 17:07 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

原帖由 "zjBahamout" 发表:
谁说的?
malloc ->; brk() 最终建立page的映射,进程结束的时候,不会去除进程引用计数


不好意思,什么是引用计数,能讲一下吗?我一向都是看到前一种观点,进程结束的时候OS负责释放它的空间。

论坛徽章:
0
5 [报告]
发表于 2004-12-08 17:22 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

自动释放:
栈会
堆不会

论坛徽章:
0
6 [报告]
发表于 2004-12-08 17:30 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

堆不会??????回去看书,倘若真的不会,那说明我需要重新建立以前对计算机的全部理解。

论坛徽章:
0
7 [报告]
发表于 2004-12-08 17:38 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

顺着brk(), alloc_page()往下看

论坛徽章:
0
8 [报告]
发表于 2004-12-09 08:19 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

什么栈会堆不会?害得我昨天看情景分析到凌晨,根本是用户空间全部释放、系统空间留给父进程去释放么。

论坛徽章:
0
9 [报告]
发表于 2004-12-09 08:30 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

stack就没有释放的问题。
heap也会释放,所以程序既然要结束,就不需要free.

论坛徽章:
0
10 [报告]
发表于 2004-12-09 08:35 |只看该作者

问大家一个关于内存释放的问题,多谢高手帮忙

原帖由 "思一克" 发表:
stack就没有释放的问题。
heap也会释放,所以程序既然要结束,就不需要free.


就是啊。所谓heap的内存泄漏什么的,也只是那些需要长期运行的进程,才需要很小心的。普通进程不管怎么样,反正结束时OS会收回空间,所以不是多严重的问题。

其实heap释不释放,想想都知道的,如果OS不停的启动/杀死进程(事实上就是这样),难道随着OS运行时间越来越长,可用虚存空间就越来越少?那这OS也太der了吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP