LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 811|回复: 5

fc6下驱动编程问题

[复制链接]
发表于 2007-4-5 19:33:42 | 显示全部楼层 |阅读模式
我想测试一个简单的内核模块,helloworld.c程序如下:
#define MODULE
#include <linux/module.h>

int init_module(void)
{
printk("<1> Hello,world!\n"); return 0;
}
void cleanup_module(void)
{
printk("<1> Goodbye crule world !\n");
}

当用gcc -c helloworld.c编译时提示:helloworld.c:2:26: 错误:linux/module.h:没
有那个文件或目录;
我在/usr/include/linux下查找确实没有module.h头文件,本人刚开始学习linux,装的是
fc6,请问哪位高人这是什么原因。
发表于 2007-4-5 21:23:21 | 显示全部楼层
yum install kernel-devel
然后在你那个.c文件目录下创建Makefile如下
obj-m := helloworld.o

然后make就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-5 22:12:54 | 显示全部楼层
还是不可以阿。我已经安装kernel-devel了阿
回复 支持 反对

使用道具 举报

发表于 2007-4-6 11:02:27 | 显示全部楼层
兄弟, 去内核版看看吧, 这样的问题问了不止一遍/两遍/三遍了......
回复 支持 反对

使用道具 举报

发表于 2007-4-10 00:12:48 | 显示全部楼层
兄弟,是makefile写错了,编译内核module的makefile和编译用户态程序有所不同。
回复 支持 反对

使用道具 举报

发表于 2007-4-10 01:06:41 | 显示全部楼层
前面忘了说,make后面还要跟参数,具体看代码树里Documentation/kbuild目录里有文档
差不多就像这样
make -C ~/kernel-2.6 M=`pwd` modules
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表