C言語における##と#の役割

1338 ワード

##の役割:
2つのマクロパラメータをgpio-exynos 4のように貼り合わせる.h中:
#define EXYNOS4_GPIO_NEXT(__gpio) \
	((__gpio##_START) + (__gpio##_NR) + CONFIG_S3C_GPIO_SPACE + 1)
EXYNOS4_GPIO_NEXT(EXYNOS4_GPIO_A0);
//     :
EXYNOS4_GPIO_A0_START + EXYNOS4_GPIO_A0_NR + CONFIG_S3C_GPIO_SPACE + 1

#作用
マクロパラメータを文字列に変更
#define STR(s)		#s
STR(vck);	//      "vck"
STR(123);  	//      “123”