【发布时间】:2010-12-12 15:09:17
【问题描述】:
我只需要在调试模式下让一些代码行“活动”,而在发布模式下被忽略。 有没有办法做这样的事情:
#include <iostream>
using namespace std;
#ifdef _TEST_
#define _cerr cerr
#else
#define _cerr // cerr
#endif
int main() {
_cerr << "TEST message" << endl;
}
这样当_TEST_ 未定义时,一些行会被注释掉,或者从代码中删除。我知道 cmets 在其余部分之前被处理,所以这段代码是错误的。但是,如果不明确使用#ifdefs,我怎样才能获得我需要的行为呢?
【问题讨论】:
标签: c++ debugging c-preprocessor release release-mode