我试图做一个调试系统,但它似乎不工作。
我想要实现的东西是这样的:
#ifndef DEBUG
#define printd //
#else
#define printd printf
#endif有没有办法做到这一点?我有很多调试消息,我不喜欢这样做:
if (DEBUG)
printf(...)
code
if (DEBUG)
printf(...)
...发布于 2018-07-01 10:48:32
您可以利用if。例如,
#ifdef debug
#define printd printf
#else
#define printd if (false) printf
#endif如果你设置了像-O2这样的优化标志,编译器将删除这些不可达的代码。此方法对std::cout也很有用。
https://stackoverflow.com/questions/1785205
复制相似问题