Debugging 仍然可以在valgrind到达
虽然在瓦尔格兰德仍然可以找到,但有些人说这不是问题。我们不需要修理它。有人说它需要修复。如果有人能明确地向我解释一下这背后的逻辑是什么,我会更好。是否必须修复此问题 [编辑] 我的C程序有以下valgrind输出。我需要修复它吗Debugging 仍然可以在valgrind到达,debugging,memory,memory-management,memory-leaks,valgrind,Debugging,Memory,Memory Management,Memory Leaks,Valgrind,虽然在瓦尔格兰德仍然可以找到,但有些人说这不是问题。我们不需要修理它。有人说它需要修复。如果有人能明确地向我解释一下这背后的逻辑是什么,我会更好。是否必须修复此问题 [编辑] 我的C程序有以下valgrind输出。我需要修复它吗 LEAK SUMMARY: ==27333== definitely lost: 0 bytes in 0 blocks. ==27333== possibly lost: 0 bytes in 0 blocks.
LEAK SUMMARY:
==27333== definitely lost: 0 bytes in 0 blocks.
==27333== possibly lost: 0 bytes in 0 blocks.
==27333== still reachable: 96 bytes in 12 blocks.
==27333== suppressed: 0 bytes in 0 blocks.
视情况而定。“仍然可访问”表示您在退出之前没有释放内存块,但有一个指向它的指针
在C++程序中,这意味着某个对象可能没有被“代码>删除”/代码> d,因此它的析构函数可能没有被运行,因此说一些数据可能没有被保存到磁盘上,并且一些其他的动作可能没有被占用,因此程序可能会产生意外的行为。 然而,C程序中没有析构函数,所以你的程序不能依赖于它。此外,释放内存也需要一些时间,因此在退出时不释放内存可以节省一些时间-您的程序将更快地退出(这对于具有大量数据的程序可能非常重要)