在 Debug模式或者测试的时候,我需要打印很多不同的信息,所以我使用这个方法:
#ifdef TESTING
// code with lots of debugging info
#else
// clean code only
#endif // TESTING`
这个方法好吗,或者还有其他简单优雅的方法吗?
但这样一来,我在两个地方重复了相同的代码,如果以后要更改代码中的任何内容,我必须在两个地方都这样做,这既耗时又容易出错。
谢谢。
我正在使用 MS Visual Studio。
最佳答案
您可以使用宏来打印调试信息,然后在发布版本中将该宏定义为空。
例如,
#ifdef _DEBUG
#define DEBUG_PRINT(x) printf(x);
#else
#define DEBUG_PRINT(x)
#endif
使用此方法,您还可以添加更多信息,例如
__LINE__
__FILE__
自动获取调试信息。
关于c++ - 如何分离调试和 Release模式代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508729/