可变参数宏定义 VA_ARGS

宏定义支持参数个数未知的情况,在打印调试信息时很管用。

定义:

#ifdef DEBUG
#define print_dbg(...) printf(__VA_ARGS__)
#else
#define print_dbg(...) 
#endif

使用:

print_dbg(“Total is %d”,total);

如果在编译的时候定义了 DEBUG (添加 -dDEBUG 编译选项),就会打印调试信息。