我在这里阅读了几个问题,人们通过 valgrind 运行最小的 Qt 程序,并发布结果。查看输出的一般结论是“嗯,没有实际的泄漏,这就是 Qt 使用内存的方式”。
但是,我得到的基本上是空的应用程序看起来……更糟。我正在“肯定丢失”泄漏,例如:
https://gist.github.com/3204769
==32147== LEAK SUMMARY:
==32147== definitely lost: 848 bytes in 11 blocks
==32147== indirectly lost: 1,756 bytes in 53 blocks
==32147== possibly lost: 1,720 bytes in 9 blocks
==32147== still reachable: 121,019 bytes in 2,257 blocks
==32147== suppressed: 0 bytes in 0 blocks
运行:
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./testing 2> valgrind.log
我对这个设置有点前沿,试图获得一个相对较新的 C++11 编译 gcc:
- Debian Wheezy 3.2.0-2-686-pae
- gcc (Debian 4.7.1-2) 4.7.1
如果我这样做,sudo kwrite --version
我会得到:
Qt: 4.8.1
KDE Development Platform: 4.8.4 (4.8.4)
KWrite: 4.8.3 (4.8.3)
有类似情况的人,或者知道这里发生了什么吗?:-/