我四处寻找,但似乎没有答案,所以我决定在这里问。所以我用valgrind来检查我的程序,这是结果
==24810== HEAP SUMMARY:
==24810== in use at exit: 1,478 bytes in 30 blocks
==24810== total heap usage: 50 allocs, 20 frees, 43078 bytes allocated
==24810==
==24810== LEAK SUMMARY:
==24810== definitely lost: 0 bytes in 0 blocks
==24810== indirectly lost: 0 bytes in 0 blocks
==24810== possibly lost: 0 bytes in 0 blocks
==24810== still reachable: 1,478 bytes in 30 blocks
==24810== suppressed: 0 bytes in 0 blocks
这是泄漏吗? 如果是这样,那可能是什么原因?
答案 0 :(得分:0)
这不是真正的泄漏,因为分配的30个额外块仍然可以访问。看来你在程序运行结束时没有释放一些结构。请注意,运行时库有时会在最后留下一些已分配的对象,但这并不像其中一种情况。
答案 1 :(得分:0)
不是泄漏,只是意味着在终止时仍可以访问某些内存块。要查找真正的内存泄漏,请查看“绝对丢失”和“间接丢失”