我有一段代码,只想在定义了DEBUG的情况下才记录日志。所以我想用注释字符串“//”替换标记(这里是“DEBUGLOG”)。但是如何实现呢?
#ifndef DEBUG
#define DEBUGLOG //
#endif
[...]
DEBUGLOG printf("Debug String"\n);
[...]
在代码中没有定义DEBUG。但是我的gcc编译了这行代码,程序本身执行了printf()函数。
为什么会这样?
我尝试将它放在括号中,像这样,但它会出现编译错误:
#ifndef DEBUG
#define DEBUGLOG "//"
#endif
这是编译器的消息:
beispiel.c:45:10: error: expected ‘;’ before ‘printf’
DEBUGLOG printf("Debug String"\n);
^
有什么提示吗?