Chinaunix首页 | 论坛 | 博客
  • 博客访问: 295416
  • 博文数量: 61
  • 博客积分: 1581
  • 博客等级: 上尉
  • 技术积分: 741
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-24 13:52
个人简介

幸运儿不是我,因为我选择的路很难走.如果够出色也不能出头,至少要做到没第二个我.

文章分类

全部博文(61)

文章存档

2013年(14)

2012年(47)

分类: LINUX

2012-10-25 18:49:47

摘自:http://blog.csdn.net/zhandoushi1982/article/details/4824737
在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),

    仅此而已。

阅读(1199) | 评论(0) | 转发(1) |
0

上一篇:C语言sscanf函数的总结

下一篇:sizeof详解

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