是由程序员在exit()上解除分配吗?
我有一个程序,当我从键盘输入错误数据时,它只是以
exit(1)
退出。
我正在使用Valgrind进行测试,虽然发生这种情况但没有错误,但我可以看到仍有可达的x字节。
所以我的问题是:程序员在点击exit()
之前释放内存还是操作系统要处理它?
没有找到相关结果
已邀请:
4 个回复
鞘垒飘
恋裂
可以帮助您跟踪内存泄漏并报告每个可用的内存区域,以便您可以根据需要手动释放它们。
视蕉梁拌客
脾萌
内存是一个坏主意。没有充分理由浪费时间,在多线程程序中,如果其他线程没有先加入并且可能访问一些已分配的内存,它实际上可能会导致错误。 “仍然可以到达”不是泄漏。考虑:
在这里,当你到达退出时,
已超出范围。没有办法释放那种记忆;它永远消失了。那是泄密。 OTOH,你可以很容易地释放
(你不应该),它是可以到达的,而不是泄密。