功能:
用于检測c++程序的内存泄露。
原理:
事实上非常easy,就是通过函数的重载机制,捕获应用程序的new, new[] , delete , delete[], malloc,calloc,free等内存操作函数。
特点:
因为在检測的过程中,须要记录用户程序内存分配信息,所以工具本身必须进行内存动态分配。为了提高内存分配效率,程序实现了两个链表。
1、空暇链表,事实上就是一个简单的内存池
2、当前正在保存内存信息的链表
不足:
1、仅仅是在vc2005上測试通过,没有在其它平台上測试过
2、不支持多线程(兴许有可能支持)
3、保存当前内存分配信息的链表,存在next字段的内存开销。
源码:
1、头文件
2、源文件