Chinaunix首页 | 论坛 | 博客
  • 博客访问: 371933
  • 博文数量: 50
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 641
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-09 22:35
个人简介

不怕你失败,就怕你爬不起来。

文章分类

全部博文(50)

文章存档

2014年(50)

我的朋友

分类: C/C++

2014-09-10 18:05:28

1. 进程退出时,操作系统会回收该进程所占用的所有资源。所以不需要担心内存泄漏。(这点是可以理解的,因为用户程序,难免有bug,假如进程退出不回收内存,那操作系统不是很容易挂掉吗?这是不能容忍的)
2. exit()函数的也并不是完全不调用析构函数。参考ISO C++ 2003标准:

static对象是会被析构的,auto对象不会析构。



内存是否泄漏要分情况:
1. 调用exit结束进程后,进程自身占用的存储空间(进程自身页表引用到的内存)会被释放,这一部分内存不会泄漏。
2. 有些程序会使用一些外部的资源,比如Linux下程序通过内核模块在内核中申请了内存,Windows下使用Direct3D接口,接口内部申请了内存,这些内存如果不主动释放,是会造成泄漏的。


摘录自知乎:
阅读(3772) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~