我有一个关于c语言中波纹管的定义的问题。
#define DESC(x) 1
#if DESC("abc cdef")
.... some implementation or declaration
#endif
宏 DESC(“ abc cdef”)是什么意思? 它代表子模块吗?确实如此,我在哪里可以参考有关该信息?
谢谢您回答这个问题。
答案 0 :(得分:3)
DESC(x)
是类似于函数的预处理器宏。在您的情况下,它将忽略其输入,并始终将其替换为整数文字1
。
我不知道为什么为什么这样使用,但是我怀疑作者想要:
#if
... #endif
)。(大多数人会使用#1的注释,但有时#2的注释尚不清楚。)
答案 1 :(得分:1)
这是一个function-like macro,它将x
作为参数并返回1
。