Linux.ChinaUnix.net
ChinaUnix | Linux首页 | 新闻 | 博客 | 文章 | 专栏 | 新手 | 方案 | 图书 | 下载 | 人才 | 手册 | wiki | 搜索     
Linux论坛
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索



我想写个模块 碰到的问题
首页 » CU论坛 » Linux » 汇总贴列表 » 编程问题 »  
[打印] [订阅] [收藏] [本帖文本页] [推荐此主题给朋友,立即获积分]
  [已解决] 本主题悬赏 可用积分 10     本主题由 MMMIX 于 2008-11-12 11:50 关闭 
eclipse_2 (G.eclipse)
风云使者



CU编号: 729010
注册:2008-7-12
最后登录: 2009-06-04
帖子:597
精华:0

可用积分:896 (稍有积蓄)
信誉积分:85
专家积分:50 (本版:30)
空间积分:1
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


1楼 发表于 2008-11-11 10:13 
#include <linux/module.h>
#include <linux/kernel.h>

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

编译之后 出现大量类似的错误 我只copy了一部分 也不知道哪儿出错了  请高手指点一下


/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘search_module_extables’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:484: 警告:未使用的参数 ‘addr’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_text_address’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:490: 警告:未使用的参数 ‘addr’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘__module_text_address’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:496: 警告:未使用的参数 ‘addr’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘is_module_address’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:501: 警告:未使用的参数 ‘addr’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘__module_get’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:511: 警告:未使用的参数 ‘module’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘try_module_get’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:515: 警告:未使用的参数 ‘module’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_put’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:520: 警告:未使用的参数 ‘module’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_address_lookup’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:529: 警告:未使用的参数 ‘addr’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:530: 警告:未使用的参数 ‘symbolsize’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:531: 警告:未使用的参数 ‘offset’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:532: 警告:未使用的参数 ‘modname’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_get_kallsym’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:537: 警告:未使用的参数 ‘symnum’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:538: 警告:未使用的参数 ‘value’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:539: 警告:未使用的参数 ‘type’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:539: 警告:未使用的参数 ‘name’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:540: 警告:未使用的参数 ‘namelen’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_kallsyms_lookup_name’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:545: 警告:未使用的参数 ‘name’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘is_exported’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:550: 警告:未使用的参数 ‘name’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:550: 警告:未使用的参数 ‘mod’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘register_module_notifier’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:555: 警告:未使用的参数 ‘nb’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘unregister_module_notifier’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:561: 警告:未使用的参数 ‘nb’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_add_driver’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:575: 警告:未使用的参数 ‘module’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:575: 警告:未使用的参数 ‘driver’
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h: 在函数 ‘module_remove_driver’ 中:
/usr/src/kernels/2.6.18-8.el5-i686/include/linux/module.h:579: 警告:未使用的参数 ‘driver’



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________




-------------------

还是那么的菜

-------------------

版主 duanjigang (塞上花开,红颜逝)
版主-精灵使



CU编号: 326918
注册:2005-10-23
最后登录: 2009-06-29
帖子:2878
精华:7

可用积分:4139 (小富即安)
信誉积分:105
专家积分:197 (本版:0)
空间积分:0
推广积分:0

来自:陕西咸阳--赳赳老秦,共赴国难
状态:...离线...

[个人空间] [短信] [博客]


     最佳答案 
一个入门例子。。俺都不知道发了多少遍了
//hello.c by duanjigang

#include <linux/module.h>
static int __init exam_init(void)
{
        printk("<1>Hello World.\n");
        return 0;
}

static void __exit exam_exit(void)
{
        printk("<1>Goodbye world.\n");
}

module_init(exam_init);
module_exit(exam_exit);
MODULE_LICENSE("GPL");


#Makefile
MODULE_NAME :=hello
obj-m   :=$(MODULE_NAME).o
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD       := $(shell pwd)
all:
        $(MAKE) -C $(KERNELDIR) M=$(PWD)
        


make然后 insmod hello.ko
然后dmesg
rmmod hello
dmesg

[ 本帖最后由 duanjigang 于 2008-11-12 09:53 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

squid_front:http://bbs2.chinaunix.net/thread-1452375-1-1.html
eclipse_2 (G.eclipse)
风云使者



CU编号: 729010
注册:2008-7-12
最后登录: 2009-06-04
帖子:597
精华:0

可用积分:896 (稍有积蓄)
信誉积分:85
专家积分:50 (本版:30)
空间积分:1
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


3楼 发表于 2008-11-11 10:24 
我的makefile
TARGET  := hello
WARN    := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
INCLUDE := -isystem /usr/src/kernels/2.6.18-8.el5-i686/include
CFLAGS  := -O2 -DMODULE -D__KERNEL__ ${WARN} ${INCLUDE}
CC      := gcc
${TARGET}.o : ${TARGET}.c
.PHONY  : clean
clean:
        rm -rf {TARGET}.o



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________




-------------------

还是那么的菜

-------------------

eclipse_2 (G.eclipse)
风云使者



CU编号: 729010
注册:2008-7-12
最后登录: 2009-06-04
帖子:597
精华:0

可用积分:896 (稍有积蓄)
信誉积分:85
专家积分:50 (本版:30)
空间积分:1
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


4楼 发表于 2008-11-11 10:50 
自己顶一个



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________




-------------------

还是那么的菜

-------------------

eveson
大天使




CU编号: 753873
注册:2008-8-29
最后登录: 2009-07-03
帖子:1816
精华:4

可用积分:9390 (腰缠万贯)
信誉积分:5
专家积分:145 (本版:20)
空间积分:0
推广积分:98

状态:...离线...

[个人空间] [短信] [博客]


5楼 发表于 2008-11-11 17:14 
你这个模块不全啊,找个例子看看



您对本贴的看法:鲜花[0] 臭蛋[0]
eveson
大天使




CU编号: 753873
注册:2008-8-29
最后登录: 2009-07-03
帖子:1816
精华:4

可用积分:9390 (腰缠万贯)
信誉积分:5
专家积分:145 (本版:20)
空间积分:0
推广积分:98

状态:...离线...

[个人空间] [短信] [博客]


6楼 发表于 2008-11-11 17:16 
像这样,把初始化清除函数注册一下。
late_initcall(at91snd_init);
module_exit(at91snd_cleanup);



您对本贴的看法:鲜花[0] 臭蛋[0]
eveson
大天使




CU编号: 753873
注册:2008-8-29
最后登录: 2009-07-03
帖子:1816
精华:4

可用积分:9390 (腰缠万贯)
信誉积分:5
专家积分:145 (本版:20)
空间积分:0
推广积分:98

状态:...离线...

[个人空间] [短信] [博客]


7楼 发表于 2008-11-11 17:47 



您对本贴的看法:鲜花[0] 臭蛋[0]
luo118
精灵使



CU编号: 536422
注册:2007-3-13
最后登录: 2009-06-18
帖子:2509
精华:0

可用积分:4533 (小富即安)
信誉积分:98
专家积分:236 (本版:0)
空间积分:0
推广积分:203

状态:...保密...

[个人空间] [短信] [博客]


8楼 发表于 2008-11-11 18:31 
老兄,偶不懂,幫頂了,



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________


迷你倉|觀塘商務中心|葵涌商務中心| 觀塘文件倉|葵涌文件倉
jakepain   帅哥 (阿鸯)
圣骑士




CU编号: 544292
注册:2007-3-28
最后登录: 2009-07-03
帖子:125
精华:0

可用积分:204 (白手起家)
信誉积分:100
专家积分:5 (本版:0)
空间积分:0
推广积分:0

来自:NJ
状态:...离线...

[个人空间] [短信] [博客]


9楼 发表于 2008-11-12 09:56 

楼主的代码连模块入口都没有定义呀



您对本贴的看法:鲜花[0] 臭蛋[0]
eclipse_2 (G.eclipse)
风云使者



CU编号: 729010
注册:2008-7-12
最后登录: 2009-06-04
帖子:597
精华:0

可用积分:896 (稍有积蓄)
信誉积分:85
专家积分:50 (本版:30)
空间积分:1
推广积分:0

状态:...保密...

[个人空间] [短信] [博客]


10楼 发表于 2008-11-12 10:16 


QUOTE:
原帖由 duanjigang 于 2008-11-12 09:49 发表
一个入门例子。。俺都不知道发了多少遍了
//hello.c by duanjigang

#include
static int __init exam_init(void)
{
        printk("Hello World.\n"; ...

谢谢 给分了



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________




-------------------

还是那么的菜

-------------------


首页 » CU论坛 » Linux » 汇总贴列表 » 编程问题 »

 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - Linux时代 - Archiver - WAP - TOP

Processed in 0.091989 second(s), 6 queries , Gzip enabled