Macros 目标C-如何编写宏

Macros 目标C-如何编写宏,macros,c-preprocessor,multiline,Macros,C Preprocessor,Multiline,我需要写一个多行宏。我之所以需要它,是因为我必须将部分代码“粘贴”到代码中的特定点。我怎样才能做到这一点呢?使用反斜杠字符,就像在C中一样 #define NINE (3 \ + 3) 正如在ansi c中一样:您的问题并不清楚您真正想要的是什么,但简单的多行宏定义如下: #define FOO something; \ something_else; 当然,要当心if。。否则将出现问题。如果这适用于您的情况,您可以将内容包装成do{…}while(0)构造。这将

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

使用反斜杠字符,就像在C中一样

#define NINE (3 \
  + 3)

正如在ansi c中一样:

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

#define FOO something; \
            something_else;
当然,要当心
if。。否则将出现问题。如果这适用于您的情况,您可以将内容包装成
do{…}while(0)
构造。这将确保它被视为单个语句

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

呵呵,定义九为六的值!:D