目标C - 如何编写宏

时间:2011-04-19 10:30:52

标签: macros c-preprocessor multiline

我需要编写一个多行宏。我需要这个,因为我必须将部分代码“粘贴”到我的代码中的特定点。我怎么能这样做?

3 个答案:

答案 0 :(得分:10)

你的问题并不是很清楚你真正想要的是什么,但是一个简单的多行宏定义如下:

#define FOO something; \
            something_else;

当然,要注意if .. else问题。如果这适用于您的情况,您可以将事物包装到do { ... } while(0)构造中。这将确保将其视为单一陈述。

#define FOO do                 \
            {                  \
               something;      \
               something_else; \
            } while (0)

答案 1 :(得分:2)

使用C中的反斜杠字符。

#define NINE (3 \
  + 3)

答案 2 :(得分:0)