在C语言的宏函数中实现宏条件是否可能?类似于这样的内容:
换句话说,预处理器根据参数值决定使用哪个宏。
#define fun(x)
#if x==0
fun1;
#else
fun2;
#endif
#define fun1 // do something here
#define fun2 // do something else here
换句话说,预处理器根据参数值决定使用哪个宏。
fun(0) // fun1 is "preprocessed"
fun(1) // fun2 is "preprocessed"
我知道这个例子不起作用,但我想知道是否有办法使其生效?
M.
x
不是一个变量,它的值在编译之前就已经确定了。 - Marko Gulinx
,但将条件指令放在宏外部。 - cadaniluk