##黏贴符号的使用

来源:互联网 发布:mac正版软件购买 编辑:程序博客网 时间:2024/04/30 12:51

     在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),

    仅此而已。

原创粉丝点击