为什么内存泄漏只显示三个内存地址?

时间:2014-08-31 13:35:23

标签: c++ memory memory-leaks profiling memory-leak-detector

我编写了以下代码来故意创建内存泄漏。

#include <windows.h>

int main(int argc, char* argv[])
{
    while(1)
    {
        char *ch1 = new char[10];
        char *ch2 = new char[5];
        char *ch3 = new char[2];
        Sleep(5);
    }
    return 0;
}

我已使用 LeakDiag 获取日志,并使用 LDGrapher 制作以下图表。

现在,我的问题是为什么泄漏图中只显示三个地址?我一直在while(1)创建新的指针,所以我在很多地址泄漏内存?

enter image description here

1 个答案:

答案 0 :(得分:0)

包含windows.h“我假设你在Windows机器上运行它” *与Linux相比,windows中的内存管理非常智能。

尝试在linux中运行相同的程序并重绘图表以查看差异