我正在尝试为大学任务做一个程序,我从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个免费是从哪里来的,因为当我删除了所有的免费功能时,这三个人都留在那里。我认为当函数返回时没有释放东西,这就是内存泄漏的情况。
我的问题是:为什么不是?函数返回时是否释放在其中声明的所有内容?如果是这样,我怎么知道一个函数成功地释放了那里声明的东西?
Stuff在源代码之外的代码中获取malloc()ed和free()ed,例如库函数。 Valgrind看到了所有这一切。