我正在尝试为大学任务编写程序,并且收到了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个免费功能时,这3个呆在那里。我以为,当一个函数返回而没有释放任何东西时,那就是内存泄漏的情况。
我的问题是:为什么不是?函数返回时是否释放其中声明的所有内容?如果是这样,我怎么知道一个函数正在成功释放其中声明的内容?
答案 0 :(得分:2)
在源代码之外的代码(例如库函数)中,东西得到malloc()和free()。 Valgrind看到了所有这些。