如何在我的源文件中包含linux / module.h?

时间:2015-09-30 18:07:39

标签: c linux kernel interrupt c11

我已经查看了有关stackoverflow的其他类似问题,但它似乎并不适合我。我正在尝试编译代码示例,它需要这些头文件:

linux/module.h
linux/modversion.h
linux/sched.h
linux/tqueue.h

但我一直在收到错误,说这些文件无法找到。我知道我应该将它们添加到内核中,但是请您指导我完成整个过程并告诉我如何完成这项工作。在此先感谢您的帮助。 可以找到代码示例here

2 个答案:

答案 0 :(得分:0)

您可能希望首先编译内核源代码,或检查以下路径是否存在

/lib/modules/kernel-version/build

或更准确地说

/lib/modules/`uname -r`/build

path to your kernel build

这通常是内核构建树存在的路径。

毋庸置疑,基于gcc的普通编译不会在这里工作。

This should get you started

答案 1 :(得分:-1)

其中一些文件随linux发行版一起提供:

/usr/include/linux/

但是如果您的计算机中未安装linux,请参阅github repo中的linux源代码树:

https://github.com/torvalds/linux/tree/master/include/linux