LinuxSir.cn,穿越时空的Linuxsir!

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

编写内核模块的问题!

[复制链接]
发表于 2007-2-26 16:12:03 | 显示全部楼层 |阅读模式
/* hello.c */
/* The necessary header files */
/* Standard in kernel modules */
#include <linux/kernel.h>; /* We're doing kernel work */
#include <linux/module.h>; /* Specifically, a module */
/* Initialize the module */
int init_module()
{
printk("Hello, world - this is the kernel speaking\n");
/* If we return a non zero value, it means that init_module failed and
* the kernel module can't be loaded */
return 0;
}
/* Cleanup - undid whatever init_module did */
void cleanup_module()
{
printk("Short is the life of a kernel module\n");
}
[/code]

[root@RedHat zhangzhm]# gcc -O6 -Wall -DCONFIG_KERNELD -DMODULE -D__KERNEL__ -DL
hello.c: In function `init_module':
hello.c:9: warning: implicit declaration of function `printf'
hello.c: In function `cleanup_module':
hello.c:17: warning: implicit declaration of function `printk'

编译无法通过。为什么?
发表于 2007-2-26 17:24:52 | 显示全部楼层
Post by linuxcainiao
/* hello.c */
/* The necessary header files */
/* Standard in kernel modules */
#include <linux/kernel.h>; /* We're doing kernel work */
#include <linux/module.h>; /* Specifically, a module */
/* Initialize the module */
int init_module()
{
printk("Hello, world - this is the kernel speaking\n");
/* If we return a non zero value, it means that init_module failed and
* the kernel module can't be loaded */
return 0;
}
/* Cleanup - undid whatever init_module did */
void cleanup_module()
{
printk("Short is the life of a kernel module\n");
}
[/code]

[root@RedHat zhangzhm]# gcc -O6 -Wall -DCONFIG_KERNELD -DMODULE -D__KERNEL__ -DL
hello.c: In function `init_module':
hello.c:9: warning: implicit declaration of function `printf'
hello.c: In function `cleanup_module':
hello.c:17: warning: implicit declaration of function `printk'

编译无法通过。为什么?

应该是因为头文件的问题,这里的头文件应该是用/usr/src/linux-2.4/include(假设是2.4内核),哎,这种问题网上随便一找都可以找到。比如,
http://tech.sina.com.cn/s/s/2006-06-20/083217156.shtml
主要注意下面的-I选项。
gcc -c -I/usr/src/linux/include hello.c
回复 支持 反对

使用道具 举报

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

本版积分规则

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