即使我编译并运行这样的程序:
int main() {
return 0;
}
运行valgrind --leak-check=yes ./a.out
==26391== LEAK SUMMARY:
==26391== definitely lost: 0 bytes in 0 blocks
==26391== indirectly lost: 0 bytes in 0 blocks
==26391== possibly lost: 72 bytes in 3 blocks
==26391== still reachable: 200 bytes in 6 blocks
==26391== suppressed: 18,528 bytes in 153 blocks
==26391== Reachable blocks (those to which a pointer was found) are not shown.
==26391== To see them, rerun with: --leak-check=full --show-leak-kinds=all
我正在使用clang++ test.cpp
进行编译。我完全不知道如何解决这个问题。
谢谢!
答案 0 :(得分:1)
Valgrind手册有关于可能丢失的以下内容
这意味着已经有一个或多个指向该块的指针的链 发现,但至少有一个指针是内部指针。这个 可能只是内存中的一个随机值恰好指向一个 块,所以你不应该考虑这个,除非你知道你有 内部球。
这意味着所有报告的possibly lost
事件都没有泄漏。这需要通过代码仔细检查泄漏来确认。
对于您的特定情况,我们知道您的代码中没有发生泄漏。
您可能希望再次使用valgrind
--leak-check=full --show-leak-kinds=all