【发布时间】:2016-05-14 01:29:51
【问题描述】:
我目前正在使用 boost.Test,我想知道如果在调试模式下编译,是否可以关闭内存泄漏检测。
我不想使用命令行参数开关--detect_memory_leak=0。我正在寻找一种#define 参数,它可以在调试模式下关闭内存泄漏检测功能。
通过定义某个编译器开关来关闭内存检测功能也适合我。我目前正在使用 Microsoft Visual Studio 2010。
#define BOOST_TEST_DETECT_MEMORY_LEAK 0 // Preprocesser switch I'm looking for!
#define BOOST_TEST_MODULE MyUnitTest
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(MySuite);
BOOST_AUTO_TEST_CASE(MyUnitTest) {
/// Following code has a memory leak
/// ....
}
BOOST_AUTO_TEST_SUITE_END()
【问题讨论】:
-
我很抱歉,但也许我没有把我的问题说清楚。后续#define BOOST_TEST_DETECT_MEMORY_LEAK 0
-
我很抱歉,但也许我没有把我的问题说清楚。如果我在 DEBUG 或 RELEASE 模式下编译,这对我来说真的无关紧要。我只是想知道,如果 boost.Test 中有一个宏,它会切换内存泄漏的检测。上面提到的宏
#define BOOST_TEST_DETECT_MEMORY_LEAK 0毕竟不起作用。
标签: c++ boost memory-leaks