Почему только три адреса памяти отображаются в утечке памяти?

Я написал следующий код, чтобы преднамеренно создать утечку памяти.

#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)так у меня течет память по множеству адресов?

введите описание изображения здесь

2

Решение

Включение windows.h «я предполагаю, что вы запускаете это на windows box» * управление памятью в windows намного умнее по сравнению с linux.

Попробуйте запустить ту же программу в Linux и перерисовать график, чтобы увидеть разницу

0

Другие решения


По вопросам рекламы [email protected]