有可能在Linux上用C开发可加载的内核模块(LKM)?

当我开发一个可加载内核模块(LKM)应该使用C?

在Linux上使用C语言(例如C)开发可加载的内核模块(LKM)是可能的吗?

最佳答案
可能在某种程度上可以被警告(从http://www.tux.org/lkml/#s15-3开始):

Is it a good idea to write a new driver in C++?
The short answer is
no, because there isn’t any support for C++ drivers in the kernel.

Why not add a C++ interface layer to the kernel to support C++ drivers?
The short answer is why bother, since there aren’t any C++ drivers for
Linux.

我认为最好的想法是咨询现有的资源(有一些内核驱动书,包括一个免费的在线),这些都在C中,得到基础知识,然后你可以尝试看看是否可以让c工作那里.

但我非常怀疑这将很容易.您甚至无法访问内核中的完整C标准库.需要考虑的事情:它不链接到共享库,总可执行映像通常是2-3 MB.

转载注明原文:有可能在Linux上用C开发可加载的内核模块(LKM)? - 代码日志