大佬教程收集整理的这篇文章主要介绍了c – 为什么QApplication会造成内存泄漏?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_11@#include <QApplication> int main(int argc,char *argv[]) { QApplication a(argc,argv); return 0; }
我使用pro文件在Qt Creator中编译它:
@H_403_11@QT += core gui greaterThan(QT_MAJOR_VERSION,4): QT += widgets TARGET = testLeaks TEMPLATE = app sourcES += main.cpp HEADERS += FORMS +=
命令valgrind ./testLeaks说泄漏并打印以下内容:
@H_403_11@==31276== HEAP SUMMary: ==31276== in use at exit: 1,190,544 bytes in 7,267 blocks ==31276== @R_479_10586@l heap usage: 46,096 allocs,38,829 frees,6,716,079 bytes allocated ==31276== ==31276== LEAK SUMMary: ==31276== definitely lost: 2,788 bytes in 11 blocks ==31276== indirectly lost: 7,065 bytes in 182 blocks ==31276== possibly lost: 318,238 bytes in 1,233 blocks ==31276== still reachable: 862,453 bytes in 5,841 blocks ==31276== suppressed: 0 bytes in 0 blocks
如果我评论QApplication,则没有泄漏.为什么这个课会泄漏?
@H_403_11@valgrind --leak-check=full --show-leak-kinds=all -v ./testLeaks
另外,你减少了短输出的结束:
@H_403_11@==3005== ERROR SUMMary: 0 errors from 0 contexts (suppressed: 2 from 2).
无论哪种方式,它很可能不是QApplication本身的错误,而是一些潜在的依赖,特别是你提到它会在libc更新后发生.
我在libc和其他低级库中遇到了一些问题,你会认为它们没有泄漏内存,而且你在一天结束时感到惊讶.
通过使用该库编写示例可以轻松检查这一点.
以上是大佬教程为你收集整理的c – 为什么QApplication会造成内存泄漏?全部内容,希望文章能够帮你解决c – 为什么QApplication会造成内存泄漏?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。