Abstruse #определить макрос, встречающийся в исходном коде ядра Linux

Макрос get _cpu _var, который определен ниже

 29 #define get_cpu_var(var) (*({                           \
 30         extern int simple_identifier_##var(void);       \
 31         preempt_disable();                              \
 32         &__get_cpu_var(var); }))

, кажется непонятным. Я предполагаю, что это был один из видов макроса функции, который возвращает указатель переменной (на основе звездочки )или это какой-то указатель на функцию. Я даже близко к этому? Может ли кто-нибудь просветить меня?

6
задан a3f 31 March 2015 в 04:15
поделиться