了解linux内核中的include目录

了解linux内核中的include目录

谁能解释一下为什么头文件被分成 include 目录以及 arch 下?

如果我想链接我的源代码以包含头文件,我实际上应该从哪里获取它?

include/

或者

arch/arm/

我正在 ARM 主机上编写程序(不是交叉编译)

有人可以解释一下内核中头文件的结构吗?它们是如何传播的以及背后的逻辑?

答案1

如果您正在编写用户空间程序,则不应直接使用内核头(无论是来自arch还是include- 后者包括适合您的体系结构的前者)。您需要使用准备供用户空间程序使用的标头。这些通常在发行版中作为单独的包提供,例如 linux-libc-dev在 Debian 上;或者您可以按照上面链接的说明自行准备。

至于内核中头文件的组织,所有公共头文件都位于include及其子目录中,而特定于体系结构的头文件位于相应arch目录的子目录中。在大多数情况下,您会包含来自include(编写内核代码时)的标头。

相关内容