#define idebug(...) \
\#ifdef _DEBUG\
printf(__VA_ARGS__);\
\#endif\
#endif
很难描述意图,这通常意味着我预定义了一个宏 idebug 来保存一些代码。如果预定义了_DEBUG 标志,则打印输出。或者假装什么都没发生。
如果我们使用函数来实现它,它将如下所示:
void idebug(...)
{
#ifdef _DEBUG
printf(...);
#endif
}
假设有一个程序
int main()
{
int a = 10;
idebug("a:%d\n",a);
}
当我们处于调试阶段时,我们需要编译器的输出:
int main()
{
int a = 10;
printf("a:%d\n",a);
}
如果我们处于发布阶段,我们需要编译器的输出:
int main()
{
int a = 10;
}