插入另一个预处理器宏的预处理器宏

时间:2016-01-15 18:06:40

标签: logging macros c-preprocessor

有没有办法使用其他预处理器宏插入预处理器宏?

我可以做类似的事吗,例如

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

这样当我写

    INSERT_MACRO(foo(););

它被转换为

    #ifdef MYFLAG
    foo();
    #endif

?谢谢!

1 个答案:

答案 0 :(得分:1)

您不能在define中使用其他预处理程序指令。 相反,你可以考虑,

#ifdef MYFLAG
#define INSERT_MACRO(x) x;
#else
#define INSERT_MACRO(x) 
#endif
相关问题