如何为Linux内核编译库?

如何为Linux内核编译库?,linux,kernel,libraries,Linux,Kernel,Libraries,我有一个C代码库,它有一个抽象层,我希望移植到Linux内核 谷歌搜索“为Linux内核编译库”是没有用的,因为你能找到的只是“编译Linux内核”的点击率 有没有人有关于如何编译内核库的说明/描述等的指针 这个问题对吗?内核是否有库的概念?您想了解的是。您可以选择使库成为该模块的一部分(这方面没有Linux内核的特定内容),或者将其构建为带有导出符号的单独模块,以允许重用 对于绝大多数任务,我建议您完全或大部分在userland中寻找解决方案(将库和所有使用库的代码保持在常规进程中),并且只在

我有一个C代码库,它有一个抽象层,我希望移植到Linux内核

谷歌搜索“为Linux内核编译库”是没有用的,因为你能找到的只是“编译Linux内核”的点击率

有没有人有关于如何编译内核库的说明/描述等的指针


这个问题对吗?内核是否有库的概念?

您想了解的是。您可以选择使库成为该模块的一部分(这方面没有Linux内核的特定内容),或者将其构建为带有导出符号的单独模块,以允许重用


对于绝大多数任务,我建议您完全或大部分在userland中寻找解决方案(将库和所有使用库的代码保持在常规进程中),并且只在内核中运行绝对必要的代码(如果有)。

谢谢!(关于用户模式;这是一个无锁数据结构库-内核端口对内核模式开发人员可用)嗯,我不确定我是否需要一个模块。我希望数据结构API能够适用于内核本身。例如,我了解内核中RCU的一个实现。这在哪里实施?这是否在模块中?搜索源。它不是一个模块。提示要搜索的内容也在内核源代码中:@BlankXavier-我之所以建议采用模块化方式,是因为它将使您的代码更易于开发,并且不会让其他所有人都相信它在内核中的存在。模块可以在不重新启动的情况下加载和卸载。如果您想使一些新的数据结构可用,那么为什么不按照当前数据结构的实现方式来做呢?要么整个实现都在头文件(list.h)中,要么您有一些导出的函数,并且有一个其他人可以包含的头文件(如互斥等)。您有一个配置选项将库编译到内核中。不知道模块如何适应所有这些。