gpt4 book ai didi

C 元宏模式匹配

转载 作者:行者123 更新时间:2023-11-30 15:51:31 25 4
gpt4 key购买 nike

我有一些宏KEY_*。我想将它们全部定义为外部变量,但数量和名称可能会有所不同。

文件1.h:

#define KEY_FOO 200
...
#define KEY_ASDFG 423

预处理后的file2.c:

#include <file1.h>
// Something like this should be generated by macros or so, but should not hardcode the names (except KEY_)
extern int key_foo; int key_foo = 200;
...
extern int key_asdfg; int key_asdfg = 423;

我可以(以及如何)制作一个像这样工作的元宏/东西,并且不需要使用 FOO/ASDFG 调用?

最佳答案

仅使用 C 预处理器无法做到这一点。

至少,它需要将 KEY_FOO 标记分解为其组成字符,并且没有预处理器工具可以做到这一点。

使用 sed 或 perl 应该很容易做到,或者您甚至可以编写一个 C 程序来执行此转换,但您不能在预处理器中执行此操作。

关于C 元宏模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15045319/

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