Tag: 变量函数

C中的宏生成宏?

我想让C预处理器为我生成宏(即,我只使用C99)。 我写了一个宏 #define make_macro(in) 当我放 make_macro(name1) make_macro(name2) 稍后在代码中,它将扩展为 #define name1(…) name1_fn(name1_info, __VA_ARGS__) #define name2(…) name2_fn(name2_info, __VA_ARGS__) 然后我就可以使用name1和name2作为(宏实现的)函数。 我认为我在两个步骤中都使用了宏:使用宏来重复填充模板是有意义的,并且除了通过宏之外,可变参数处理将不起作用。 那么占位符是做什么的呢? 在这一点上,我开始相信它在C99中是不可能的,但也许我错过了语法的一些细节。