首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找嵌套的#ifdef-s集合的替代方案

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

Stack Overflow用户
提问于 2018-05-29 16:34:26
回答 1查看 197关注 0票数 0

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

代码语言:javascript
复制
#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语句更好的方法。还有别的选择吗?

EN

回答 1

Stack Overflow用户

发布于 2018-05-29 18:56:34

看起来你在寻找类似这样的东西:

代码语言:javascript
复制
#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

即建立中间宏,每个中间宏可以或可以不具有对前一个宏的添加。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50579800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档