我编写了以下代码来故意创建内存泄漏。
#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)
创建新的指针,所以我在很多地址泄漏内存?
答案 0 :(得分:0)
包含windows.h“我假设你在Windows机器上运行它” *与Linux相比,windows中的内存管理非常智能。
尝试在linux中运行相同的程序并重绘图表以查看差异