用GCC和C99的可变参数宏, 更方便地打印调试信息

来源:互联网 发布:尔雅网络课用什么软件 编辑:程序博客网 时间:2024/04/30 01:08
用GCC和C99的可变参数宏, 更方便地打印调试信息

#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 );
原创粉丝点击