gcc的预处理提供的可变参数宏定义真是好用:
#ifdef DEBUG
#define dbgprint(format,args...) \
fprintf(stderr, format, ##args)
#else
#define dbgprint(format,args...)
#endif
如此定义之后,代码中就可以用dbgprint了,例如dbgprint("aaa %s", __FILE__);。感觉这个功能比较Cool !
下面是C99的方法, :
#define dgbmsg(fmt,...) \
printf(fmt,__VA_ARGS__)
常用的:
#define dprintf(fmt, args...) printf("%s %s %d: "fmt"\n",__FILE__, __func__, __LINE__, ##args );
#define dputs(str) printf("%s %s %d: %s\n",__FILE__, __func__, __LINE__, str );
阅读(1483) | 评论(0) | 转发(0) |