2010年11月26日 星期五

巨集

巨集

真難懂 =.=

#include <stdio.h>
#include <stdlib.h>

#define S5PV210_GPIO_A0_NR    (1)
#define S5PV210_GPIO_A1_NR    (3)

//#define S5PV210_GPA0(_nr)    (S5PV210_GPIO_A0_START + (_nr))

#define S5PV210_GPIO_NEXT(__gpio) \
    ((__gpio##_START) + (__gpio##_NR) + 0)  //key point

enum s5p_gpio_number {
S5PV210_GPIO_A0_START    = 1,
S5PV210_GPIO_A1_START    = S5PV210_GPIO_NEXT(S5PV210_GPIO_A0),
S5PV210_GPIO_B_START     = S5PV210_GPIO_NEXT(S5PV210_GPIO_A1),

};

int main (void)
{
printf("a=%d\n",S5PV210_GPIO_A1_START);
printf("b=%d\n",S5PV210_GPIO_B_START);
system("pause");
}


結果:
a=2
b=5

沒有留言:

張貼留言