0
Посмотрите на это простейшее приложении:Утечка памяти в 0 строках кода.
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
void main(void)
{
_CrtDumpMemoryLeaks();
}
Он производит следующий вывод в отладочных панелях:
Detected memory leaks!
Dumping objects ->
{94} normal block at 0x012EA298, 8 bytes long.
Data: <Dw > 44 77 D9 00 00 00 00 00
{93} normal block at 0x012F0DA8, 20 bytes long.
Data: </// > A8 0D 2F 01 A8 0D 2F 01 A8 0D 2F 01 01 01 CD CD
Object dump complete.
Detected memory leaks!
как это возможно?
Win10, VS2015, целевая версия платформы 10.0.14393.0
Скорее всего некоторые статически контекстными объекты, которые являются внутренними для библиотеки времени выполнения C и построены, когда C библиотека инициализирует. На самом деле это не утечка памяти. –
Вероятно, ложные срабатывания от объекта, созданного временем выполнения, не уничтожаются к тому времени, когда он проверяет утечки. – NathanOliver
Зачем вам все это? Вы собираетесь выйти из приложения. У вас нет такой вещи, как утечка памяти, как только ваш процесс будет существовать, если только сама ОС не глючит. Когда процесс завершается, вся выделенная память освобождается автоматически. В вашем коде ничего не изменится. –