使用条件编译指令调试bug
#define DEBUG1 1
#if DEBUG1 == 0 //format是格式控制,##表示可以没有参数,__VA_ARGS__表示变量
#define Log(format,...) printf(format,## __VA_ARGS__) #else
#define Log(format,...) #endif
void test(){ Log("xxxxx");
}
int main(int argc, const char * argv[]) {
Log("%d\n",10);
return 0; }
这里,‘...’指可变参数。这类宏在被调用时,##表示成零个或多个参数,包括里面的逗号, 一 直到到右括弧结束为止。当被调用时,在宏体(macro body)中,那些符号序列集合将代替 里面 的__VA_ARGS__标识符。 |
|