Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4842382
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类: LINUX

2009-05-07 15:04:52

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) |
0

上一篇:subsys_initcall

下一篇:gcc编译器介绍

给主人留下些什么吧!~~