我对c代码中的定义有疑问,如下所示。
#define DESC(x) 1
#if DESC("abc cdef")
.... some implementation or declaration
#endif
宏DESC(“abc cdef”)究竟是什么意思?它代表子模块吗?这是真的,我在哪里可以参考有关它的信息?
感谢您仔细阅读此问题。
DESC(x)
是一个类似函数的预处理器宏。在您的情况下,它忽略其输入并始终用整数文字1
替换它。
我不确定为什么会这样使用它,但我怀疑作者想要:
#if
... #endif
)。(大多数人会对#1使用评论,但有时评论#2还不清楚。)
这是一个function-like macro,它接受x
作为参数并返回1
。