可变参数的宏定义

1 #define MYDEBUG(format, args...) printf(format, args)

2 #define MYDEBUG(format, ...) printf(format, __VA_ARGS__)

这两种都要求除了格式字符串之外,至少还需要一个参数,否则编译出错。

 

3 使用gcc的扩展特性

#define MYDEBUG(format, args...) printf(format, ##args)

则除了格式串外,如果不需要参数,可以不出现参数。

posted @ 2011-09-21 13:47  茫茫深海一条鱼  阅读(202)  评论(0)    收藏  举报