Linux kernel Linux内核头文件

Linux kernel Linux内核头文件,linux-kernel,arm,kernel,Linux Kernel,Arm,Kernel,我想了解,在内核的基本目录中的“/includes/”下放置了什么类型的头文件。从某种意义上说,这些文件是否打算成为“公共”头/API?因此,忽略了架构,配置开关已被启用/禁用等 简而言之,如果我想在我的驱动程序中使用一些核心内核功能,我是否可以安全地假设我正在寻找的功能将包含在“/includes”下的一个相关头文件中,而不是其他任何地方 期待您的评论 谢谢 是的,include包含用于内核开发的标准API。我最近也在研究这个问题 我不知道这个答案有多相关,因为听起来您只关心了解手头的内核源

我想了解,在内核的基本目录中的“/includes/”下放置了什么类型的头文件。从某种意义上说,这些文件是否打算成为“公共”头/API?因此,忽略了架构,配置开关已被启用/禁用等

  • 简而言之,如果我想在我的驱动程序中使用一些核心内核功能,我是否可以安全地假设我正在寻找的功能将包含在“/includes”下的一个相关头文件中,而不是其他任何地方

  • 期待您的评论


    谢谢

    是的,include包含用于内核开发的标准API。

    我最近也在研究这个问题

    我不知道这个答案有多相关,因为听起来您只关心了解手头的内核源代码的打包。这个答案可能只适用于你的第二个问题。尽管如此,我还是发现了一些关于内核头的东西

    据我所知,有两个可能的位置最终被称为“内核头”

    第一个位置在/usr/src/linux头中-`version'(至少在我的Ubuntu机器上)。这是安装内核(源代码?)的地方,以及附带的头文件。如果您想要构建内核模块,那么您需要根据此处找到的头进行构建

    另一方面/usr/include/{linux,asm}也包含“内核头”。您可以将这些头文件视为内核的用户界面。它是内核导出的API,因此用户程序可以进行系统调用。您的libc将利用此API,因此它可以基于可用的系统调用创建函数(在/usr/include中)

    这里有几个文件来支持我刚才所说的,并进一步澄清一些事情:

    下面是一个关于RHEL4上/usr/src/linux头--`version'和/usr/include之间区别的链接

    以下是有关“导出”内核头的链接:

    最后,这里是关于内核头的另一种解释:

    因此,也许您已经知道这一点,您只是想知道如何使用内核包中的源代码创建驱动程序,但至少有了这个答案,您知道这绝对是一个开始