Почему моя программа автоматически освобождает вещи? - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь создать программу для университетского задания, и я получаю это сообщение от Valgrind:

==4244== HEAP SUMMARY:
==4244==     in use at exit: 300 bytes in 2 blocks
==4244==   total heap usage: 5 allocs, 3 frees, 2,428 bytes allocate

Я не знаю, откуда взялись эти 3 освобождения , потому что , когда я удалил все свои бесплатные функции, эти 3 остались там . Я думал, что когда функция возвращается без освобождения, это может привести к утечке памяти.

Мой вопрос: почему это не так? Освобождает ли функция все, что объявлено в ней, когда возвращается? Если да, то как я узнаю, что функция успешно освобождает объявленные там вещи?

1 Ответ

0 голосов
/ 07 сентября 2018

Stuff получает malloc () ed и free () ed в коде вне вашего исходного кода, например в функциях библиотеки. Вальгринд видит все это.

...