相关疑难解决方法(0)

宏依赖宏

有可能做这样的事情:

  #define F(x) \
    #ifdef DOUBLE \
      2*x \
    #else \
      x \
    #endif
Run Code Online (Sandbox Code Playgroud)

所以当我使用时F,它扩展到什么取决于宏是否DOUBLE被定义?我不这么认为,但我很有希望.GNU扩展很好.

编辑 为了回答一些答案,我实际上是用它来做一些代码生成,代码稍有不同,具体取决于它的定义位置.由于包含某些文件的顺序以及需要定义相关宏的位置,以此方式切换它需要一些因子.我可能不得不这样做,但如果我不必从这个角落重新点燃自己,我会很激动!

c macros gcc c-preprocessor

5
推荐指数
2
解决办法
935
查看次数

标签 统计

c ×1

c-preprocessor ×1

gcc ×1

macros ×1