gcc的预处理提供的可变参数宏定义真是好用:
#ifdef DEBUG
#define dbgprint(format,args...) \
fprintf(stderr, format, ##args)
#else
#define dbgprint(format,args...)
#endif
如此定义之后,代码中就可以用dbgprint了,例如dbgprint("aaa %s", __FILE__);。感觉这个功能比较Cool !
下面是C99的方法, 感谢zalem兄:
#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 );
文章评论(0条评论)
登录后参与讨论