为什么我的程序自动释放东西?

问题描述 投票:0回答:1

我正在尝试为大学任务做一个程序,我从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个免费是从哪里来的,因为当我删除了所有的免费功能时,这三个人都留在那里。我认为当函数返回时没有释放东西,这就是内存泄漏的情况。

我的问题是:为什么不是?函数返回时是否释放在其中声明的所有内容?如果是这样,我怎么知道一个函数成功地释放了那里声明的东西?

c valgrind
1个回答
2
投票

Stuff在源代码之外的代码中获取malloc()ed和free()ed,例如库函数。 Valgrind看到了所有这一切。

© www.soinside.com 2019 - 2024. All rights reserved.