marco 一個特殊的用法 ##
#define A_TYPE(idx) idx##_TYPE
#define B_TYPE(idx) TYPE_##idx
#define C_TYPE(idx) TY_##idx##_PE
A_TYPE(CO) 代表 CO_TYPE
B_TYPE(CO) 代表 TYPE_CO
C_TYPE(CO) 代表 TY_CO_PE
主要是來創建特定名稱的變數名稱以及函式名稱
下面為實際使用的片段程式碼
/* first marco */
#define _VARI_(idx) _##idx##_VARI
#define _FUNC_(idx) _##idx##_FUNC
/* second marco */
#define VARI VARI(DO)
#define FUNC FUNC(DO)
/* use second marco DO_VAR and DO_FUNC */
int VARI = 0;
void FUNC(void) {return;}
0 意見:
張貼意見