макрос зависимости от макроса

Возможно ли сделать что-то вроде этого:

  #define F(x) \
    #ifdef DOUBLE \
      2*x \
    #else \
      x \
    #endif

, чтобы, когда я использую F , то, что он расширяет зависит от того, определен ли макрос DOUBLE ? Я так не думаю, но надеюсь. Расширения GNU подходят.

Править во что он расширяется, зависит от того, определен ли макрос DOUBLE ? Я так не думаю, но надеюсь. Расширения GNU подходят.

Править во что он расширяется, зависит от того, определен ли макрос DOUBLE ? Я так не думаю, но надеюсь. Расширения GNU подходят.

Править In response to some of the answers, I'm really using this to do some code generation, where the code is slightly different depending on where it gets defined. Because of the order in which some files are included and where the relevant macros need to be defined, switching it around that way requires a bit of factoring. I may have to do it, but would be thrilled if I don't have to unpaint myself from this corner!

5
задан Brian Tompsett - 汤莱恩 7 March 2016 в 20:35
поделиться