Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6593682
  • 博文数量: 227
  • 博客积分: 10047
  • 博客等级: 上将
  • 技术积分: 6678
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-11 10:33
个人简介

网上的蜘蛛

文章分类

全部博文(227)

文章存档

2010年(19)

2009年(29)

2008年(179)

分类: C/C++

2008-03-07 12:34:26

最近经常见到如下的宏的定义:

#define DBGPRINT(lev, Fmt) \
    { \
        if ((lev) <= muxDebugLevel) \
        { \
            DbgPrint("VirtualWiFi: "); \
            DbgPrint Fmt; \
        } \
    }

开始有点迷惑,怀疑是不是代码错误,可是编译都没有问题哦。现在才知道,哦,原来是当宏的定义的value超出一行的时候,在每行的结束添加一个backslash(\)的符号,而且是有严格要求的:在这个符号的后面不能再有任何符号,包括空格和注释都是不允许的。使用backslash的用以在于没有多余的空格,保持代码的紧凑性。

阅读(1922) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~