多行 C 预处理器指令的宏
Posted
技术标签:
【中文标题】多行 C 预处理器指令的宏【英文标题】:Macro for a multi line C preprocessor directive 【发布时间】:2014-10-16 14:59:52 【问题描述】:我正在尝试为以下代码创建简写。
#ifdef TEST_DEF
#define MY_TEST_DEF TEST_DEF
#else
#define MY_TEST_DEF 120
#endif
如何将上面的代码写成单行宏
SAFE_DEF(TEST_DEF,MY_TEST_DEF,120)
【问题讨论】:
【参考方案1】:这是不可能的。每个新定义都必须在自己的行上定义,并且不能在自身中声明新定义。
您将使用 ifdef,else 方法。
【讨论】:
以上是关于多行 C 预处理器指令的宏的主要内容,如果未能解决你的问题,请参考以下文章
C语言基础:C 预处理器预定义宏预处理器运算符(字符串常量化运算符(#),标记粘贴运算符(##),defined 运算符)参数化的宏