找不到module.h
我写了个简单的内核模块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!\n");
}
gcc -c helloword.c
helloworld.c:3:26: 错误:linux/module.h:没有那个文件或目录
我在/usr/include/linux/下找了下 没有找到module.h 其他的头文件里也没有找到
这个是怎么回事?
期待高手指点一下 请注意学习方法,不要一上来就生啃代码,很费时间的:wink:
http://www.faqs.org/docs/kernel/
请阅读内核模块编程入门手册先:lol: module.h是在kernel/include/linux目录下,不在用户空间。 原帖由 kwest 于 2008-10-14 19:33 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
module.h是在kernel/include/linux目录下,不在用户空间。
没有提供一个应用程序的接口吗?
那我这个程序怎么改才能正确?
系统是rhel5 原帖由 duanjigang 于 2008-10-14 19:51 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
请注意学习方法,不要一上来就生啃代码,很费时间的:wink:
http://www.faqs.org/docs/kernel/
请阅读内核模块编程入门手册先:lol:
恩 多谢指点
但是我还是想快点把程序调试通过
能指点一下吗? 原帖由 eclipse_2 于 2008-10-14 19:56 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
恩 多谢指点
但是我还是想快点把程序调试通过
能指点一下吗?
我给你那个网址,你点击进去看下,随便一个例子都能帮你解决 原帖由 duanjigang 于 2008-10-14 20:03 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
我给你那个网址,你点击进去看下,随便一个例子都能帮你解决
我看了的
我碰到的是具体的问题 不是那几片纸 没有module.h文件
之前好像没有装kernel-devel这个包
然后我装了之后 才找到module.h这个头文件
装好之后 我用gcc -I 把头文件包进来
出现了之类的错误
我只是一个编程新手 给我来点实际的东东吧
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:10:28: 错误:linux/spinlock.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:11:24: 错误:linux/list.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:13:28: 错误:linux/compiler.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:14:25: 错误:linux/cache.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:15:24: 错误:linux/kmod.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:17:29: 错误:linux/stringify.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:18:27: 错误:linux/kobject.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:19:31: 错误:linux/moduleparam.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:20:23: 错误:asm/local.h:没有那个文件或目录
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:22:24: 错误:asm/module.h:没有那个文件或目录 看一下 linux device driver 3rd 第2章
http://lwn.net/images/pdf/LDD3/ch02.pdf 其实module.h是在/usr/src/.../include/linux/module.h
而不是在/usr/include/linux/module.h
如果是2.4.x在/usr/src/linux/include/linux/module.h
如果在2.6.x,用命令grep -r module.h /usr/src找吧 太迟看到了,估计已经对楼主没有什么帮助了,抱歉
页:
[1]
2