gpt4 book ai didi

c - 寻找嵌套 #ifdef-s 集的替代方案

转载 作者:行者123 更新时间:2023-11-30 16:31:26 27 4
gpt4 key购买 nike

我正在尝试将以下概念添加到我的 C 代码中(CMAKE_* 定义彼此独立):

#define DEF N

#ifdef CMAKE_X
redefine DEF (DEF + CMAKE_X)
#endif

#ifdef CMAKE_Y
redefine DEF (DEF + CMAKE_Y)
#endif

#ifdef CMAKE_Z
redefine DEF (DEF + CMAKE_Z)
#endif

...

我正在寻找比一大堆复杂的嵌套 ifdef-s 语句更好的方法。还有其他选择吗?

最佳答案

您似乎正在寻找这样的东西:

#define DEF_0 N

#ifdef CMAKE_X
#define DEF_X (DEF_0 + CMAKE_X)
#else
#define DEF_X DEF_0
#endif

#ifdef CMAKE_Y
#define DEF_Y (DEF_X + CMAKE_Y)
#else
#define DEF_Y DEF_X
#endif

#ifdef CMAKE_Z
redefine DEF_Z (DEF_Y + CMAKE_Z)
#else
#define DEF_Z DEF_Y
#endif

#define DEF DEF_Z

即构建中间宏,每个宏可能会或可能不会对前一个宏进行添加。

关于c - 寻找嵌套 #ifdef-s 集的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50579800/

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