假设我在 C 中有一个名为FOO
. 还有两个宏叫做BAR1
and BAR2
,它们基本上是同一个宏的两种风格。我想编写一个宏BAR
,使其扩展到BAR1
在使用之前调用FOO
某处的函数中BAR
,BAR2
否则。例如:
void func1(void)
{
FOO();
...
BAR();
}
相当于
void func1(void)
{
FOO();
...
BAR1();
}
而这个功能:
void func2(void)
{
BAR();
}
相当于
void func2(void)
{
BAR2();
}
我想避免在运行时引入全局变量或进行额外的检查。这甚至可能吗?