C定义的用法

时间:2019-02-12 02:53:45

标签: c

我有一个关于c语言中波纹管的定义的问题。

#define DESC(x) 1

#if DESC("abc cdef")
.... some implementation or declaration
#endif

DESC(“ abc cdef”)是什么意思? 它代表子模块吗?确实如此,我在哪里可以参考有关该信息?

谢谢您回答这个问题。

2 个答案:

答案 0 :(得分:3)

DESC(x)是类似于函数的预处理器宏。在您的情况下,它将忽略其输入,并始终将其替换为整数文字1

我不知道为什么为什么这样使用,但是我怀疑作者想要:

  1. 向代码段添加描述。
  2. 要清楚地界定这些描述适用于哪些部分(通过#if ... #endif)。

(大多数人会使用#1的注释,但有时#2的注释尚不清楚。)

答案 1 :(得分:1)

这是一个function-like macro,它将x作为参数并返回1

相关问题