<linux/init.h>,<linux/module.h>头文件不存在等问题的解决方法

本文介绍了在Ubuntu系统中遇到<linux/init.h>和<linux/module.h>头文件缺失的问题时,如何避免不必要的内核下载和编译。关键在于利用/usr/src/下的内核文件夹,并通过kbuild系统编写Makefile。通过$(shell uname -r)获取当前内核版本,确保编译的模块能在不同版本内核中使用。此外,提到了在Eclipse中进行内核模块开发时的注意事项,如添加内核头文件路径、禁用自动Makefile生成等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题真心是处理了一个下午,还自己去下载了个最新的内核拿来编译,其实是完全没必要的,因为ubuntu系统是可以直接下载新内核的。

你可以在/usr/src/文件夹下找到这些内核文件夹,比如说我自己的系统:

写博客的时候使用的是3.13.0-19的内核。

写一个hello.c的测试文件:

 1 #include <linux/kernel.h> /*Needed by all modules*/
 2 #include <linux/module.h> /*Needed for KERN_* */
 3 #include <linux/init.h> /* Needed for the
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值