【发布时间】:2011-08-08 13:43:35
【问题描述】:
我需要编写一个多行宏。我需要这个,因为我必须将部分代码“粘贴”到我的代码中的特定点。我该怎么做?
【问题讨论】:
标签: macros c-preprocessor multiline
我需要编写一个多行宏。我需要这个,因为我必须将部分代码“粘贴”到我的代码中的特定点。我该怎么做?
【问题讨论】:
标签: macros c-preprocessor multiline
从您的问题中并不清楚您真正想要什么,但是一个普通的多行宏定义如下:
#define FOO something; \
something_else;
当然,要小心if .. else 问题。如果这适用于您的情况,您可以将内容包装到 do { ... } while(0) 构造中。这将确保它被视为单个语句。
#define FOO do \
{ \
something; \
something_else; \
} while (0)
【讨论】:
像在 C 中一样使用反斜杠字符。
#define NINE (3 \
+ 3)
【讨论】: