私のコードが次のスニペットのようになっていると仮定します。
#ifdef COND1
extern int func1(void);
#endif
...
#ifdef CONDN
extern int funcn(void);
#endif
my_struct funcs[] = {
#ifdef COND1
{"func1 description", func1},
#endif
...
#ifdef CONDN
{"funcn description", funcn},
#endif
{NULL, NULL},
};
両方の部分で関数名と条件の繰り返しを最小限に抑えるために、これをX マクロに置き換えることは可能ですか?
条件がなければ#ifdef CONDX
、これは非常に簡単に見えます。#ifdef
ただし、.a での使用が許可されていないため、X マクロに含める方法がわかりません#define
。