【问题标题】:Preprocessor macro that inserts another preprocessor macro插入另一个预处理器宏的预处理器宏
【发布时间】:2016-01-15 18:06:40
【问题描述】:

有没有办法使用另一个预处理器宏插入预处理器宏?

我可以做一些类似的事情吗

    #define INSERT_MACRO(x) {#ifdef MYFLAG x; #endif}

这样写的时候

    INSERT_MACRO(foo(););

转换成

    #ifdef MYFLAG
    foo();
    #endif

?谢谢!

【问题讨论】:

    标签: logging macros c-preprocessor


    【解决方案1】:

    您不能在定义中使用另一个预处理器指令。 相反,您可以考虑,

    #ifdef MYFLAG
    #define INSERT_MACRO(x) x;
    #else
    #define INSERT_MACRO(x) 
    #endif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 2015-07-31
      • 2010-09-19
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多