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