【发布时间】:2013-12-19 09:34:38
【问题描述】:
我正在遍历 linux 内核代码。我找到了一个定义为#define __async_inline __always_inline 的宏。我搜索了__always_inline,找到了以下语句#define __always_inline inline。我的问题是为什么他们需要这样做?他们可以直接使用inline而不是这个宏吗?
【问题讨论】:
-
显然
inline仅来自C99语言版本的标准,我认为他们这样做是为了避免在代码库中对关键字进行硬编码。 -
可能在未来,他们可能会为宏添加更多功能/属性,有时还会出现可移植性问题。
标签: c macros linux-kernel