gpt4 book ai didi

c - C 中的宏生成宏?

转载 作者:太空狗 更新时间:2023-10-29 17:06:34 25 4
gpt4 key购买 nike

我想让 C 预处理器为我生成宏(即,我只使用 C99)。我会写一个宏

#define make_macro(in) <...magic here...>

当我放

make_macro(name1)
make_macro(name2)

稍后在代码中,它将扩展为

#define name1(...) name1_fn(name1_info, __VA_ARGS__)
#define name2(...) name2_fn(name2_info, __VA_ARGS__)

然后我就可以将 name1 和 name2 用作(宏实现的)函数。我想我在这两个步骤中都坚持使用宏:使用宏重复重新填充模板是有意义的,并且可变参数处理只能通过宏才能工作。

那么 <...magic here...> 占位符是做什么用的呢?在这一点上,我开始相信这在 C99 中是不可能的,但也许我遗漏了一些语法细节。

最佳答案

这在标准 C 中是不可能的。

关于c - C 中的宏生成宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/860273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com