C++ 瓦尔格林德 分配比没有泄漏的免费分配更多
C++ valgrind More allocs than frees with no leaks
我四处寻找,但似乎没有答案,所以我决定在这里问。所以我用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
这是泄漏吗?如果是这样,可能是什么原因?
这不是真正的泄漏,因为分配的 30 个额外块仍然可以访问。 您似乎未能在程序运行结束时释放某些结构。 请注意,运行时库有时会在最后留下一些分配的对象,但这感觉不像是其中一种情况。
不是泄漏,它只是意味着某些内存块在终止时仍然可以访问。要查找真正的内存泄漏,请查看"肯定丢失"和"间接丢失"
请参阅此帖子: 瓦尔格林德检测到的仍然可以到达的泄漏
相关文章:
- 为什么在正确解除分配内存时出现内存泄漏?
- 将内存分配给空类会导致内存泄漏吗?
- (C++)如何在不导致 mem 泄漏的情况下将指针传递到分配了'new'的函数?
- 如何防止连续使用"new"时分配失败时内存泄漏
- 使用运算符 = 重新分配共享指针会导致内存泄漏
- 删除指针内存分配以避免内存泄漏
- Python C API:将 PyObjects 分配给字典会导致内存泄漏
- 内存分配泄漏
- 带有Valgrind的C 的向量分配中的内存泄漏
- 为什么VS2015 MFC中的相同内存泄漏导致内存分配编号不断更改
- 由 strcpy 设置的解除分配字符 * 时内存泄漏?
- C 机器人,作业分配 - 由于内存泄漏而导致阀门错误.确实需要一些提示
- 使用 make_unique 语句重新分配unique_ptr对象 - 内存泄漏
- 从动态分配的阵列获取内存泄漏
- C++ 瓦尔格林德 分配比没有泄漏的免费分配更多
- 如果我在C++中分配一个带有运算符 new[] 的对象数组,但单独释放它们是否仍然构成内存泄漏
- 如果您以Java JNI分配的本机代码中的内存泄漏,会发生什么
- 分配包含stl向量的结构时内存泄漏
- 动态分配的工作线程在几分钟后泄漏,尽管它不应该
- C++本地对象超出范围,返回指针(使用new分配的内存).因此内存泄漏