2

搜索后,我找不到任何 LKM 使用静态或动态库的示例。

我想创建静态和动态库(可能使用标准 C 库或任何其他库),然后开发一个使用我自己的静态和动态库的 LKM。

如何将 LKM(可加载内核模块)链接到静态或动态库?

4

1 回答 1

7

恐怕你有一个重大的误解——Linux 内核模块不能与标准用户空间库链接,例如 C 库,无论是静态的还是动态的。这是因为 C 库和动态链接器(实现动态链接)实际上调用内核来完成它的工作。

您可以编写静态 C 库并将其链接到内核模块,而 LKML 实际上是内核动态库的一种形式。有关详细信息,请参见 Documentation/kbuild/ 目录

于 2012-05-06T10:03:29.107 回答