Chinaunix首页 | 论坛 | 博客
  • 博客访问: 424358
  • 博文数量: 205
  • 博客积分: 5630
  • 博客等级: 大校
  • 技术积分: 1945
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 20:28
文章分类

全部博文(205)

文章存档

2016年(1)

2015年(6)

2014年(9)

2013年(10)

2012年(53)

2011年(25)

2010年(87)

2009年(14)

分类: C/C++

2010-02-22 17:28:48


     在C语言中会碰到一些用到##的地方。比如:

#define CONFIG_S3C_GPIO_SPACE  8  //可忽略

#define S3C64XX_GPIO_A_NR       (8)

#define S3C64XX_GPIO_A_START   0

........

#define S3C64XX_GPIO_NEXT(__gpio)    ((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE)

........

有如下引用:

enum GPIO_Numbers{

S3C64XX_GPIO_B_START = S3C64XX_GPIO_NEXT(S3C64XX_GPIO_A),

........

};

     ##相当于把后面的字符直接黏贴在前面的字符上,所以上面相当于:

S3C64XX_GPIO_B_START  = (S3C64XX_GPIO_A_START + S3C64XX_GPIO_A_NR + CONFIG_S3C_GPIO_SPACE),

    仅此而已。

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