分类: 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),
仅此而已。