请教一个问题:我在linux环境下开发一个最简单的helloworld驱动程序。编写好程序后,又写了个Makefile文件

hello.c#include<linux/init.h>#include<linux/module.h>MODULE_LICENSE(¨DualBSD/GPL¨);st... hello.c

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE(¨Dual BSD/GPL¨);

static int hello_init(void){
printk(KERN_ALERT ¨Hello, world\n¨);
return 0;
}

static int hello_exit(void){
printk(KERN_ALERT ¨Goodbye, cruel world\n¨);
}

module_init(hello_init);
module_exit(hello_exit);

Makefile
ifneq ($(KERNELRELEASE),)
obj -m := hello.o

else

KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
enbash-3.1# make
make -C /lib/modules/2.6.15-1.2054_FC5/build M=/root/ldd3/hello modules
make[1]: Entering directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 '
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 '

dif
发现没有生成hello.ko文件
展开
 我来答
百度网友c15ab2c
2011-12-20
知道答主
回答量:37
采纳率:0%
帮助的人:23.7万
展开全部
你装的linux内核是什么版本的,使用uname -r 查看一下,如是2.4的内核直接生成.o文件,要是2.6的内核则生成.ko文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北哈日0s
2011-12-30
知道答主
回答量:23
采纳率:0%
帮助的人:23万
展开全部
内核配置里面选M
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crab2313
2011-12-20 · TA获得超过255个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:284万
展开全部
/usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686 在这个文件夹找找
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式