假设我有一个c头文件test.h
// test.h
#ifdef A
int a;
#else
int b;
#endif
现在假设我想以这样的方式构建代码:如果定义了B,则同时定义a
和b
。
有没有比以下更聪明的方法?
// test.h
#ifndef B
#ifdef A
int a;
#else
int b;
#endif
#else
int a;
int b;
#endif
?
谢谢
答案 0 :(得分:4)
只需将两个变量分开对待,并确定何时应定义每个变量的逻辑:
#if defined(A) || defined(B)
int a;
#endif
#if !defined(A) || defined(B)
int b;
#endif