内存泄漏是怎么一回事?

来源:互联网 发布:希尔瓦娜斯 酋长 知乎 编辑:程序博客网 时间:2024/06/11 20:39
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。
对照这个定义看你的程序,只使用malloc分配内存,而没有使用free释放内存,所以出现了内存泄露。
检测内存泄露的方法可以参考以下两篇文章:
1、浅谈内存泄漏(二),
http://www.vczx.com/article/show.php?id=68
2、一个跨平台的 C++ 内存泄漏检测器,
http://www-900.ibm.com/developerWorks/cn/linux/l-mleak2/index.shtml.htm 
原创粉丝点击