0
对不起,这是一个愚蠢的问题。我最近在一个可执行文件上运行valgrind来查找内存泄漏。在Valgrind的内存泄漏报告,它显示了以下为可能丢失:如何在Eclipse IDE中添加GLIBCXX_FORCE_NEW来解决Valgrind字符串泄漏问题?
==20425== 64 bytes in 1 blocks are possibly lost in loss record 520 of 580
==20425== at 0x4029FDE: operator new(unsigned int) (vg_replace_malloc.c:313)
==20425== by 0x415F213: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19)
==20425== by 0x4161125: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19)
==20425== by 0x41617AF: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19)
==20425== by 0x804B805: test() (MyApp.cpp:228)
通过堆栈溢出看完之后,似乎这种“串”错误报告是由一个内存池优化造成的,Valgrind的不喜欢它。建议使用GLIBCXX_FORCE_NEW来修复它。我如何配置Eclipse IDE以在编译期间使用它?