Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14282
  • 博文数量: 10
  • 博客积分: 275
  • 博客等级: 二等列兵
  • 技术积分: 110
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-04 16:18
文章分类
文章存档

2011年(10)

我的朋友

分类: 嵌入式

2011-07-12 17:28:01

----my1.c-----
#ifndef __KERNEL__
#  define __KERNEL__
#endif
#ifndef MODULE
#  define MODULE
#endif

#include
#include
#include

int a = 2012;
EXPORT_SYMBOL(a);
int __init my_init(void)
{
        printk("Hello %d!\n",a);
        return 0;
}


void __exit my_exit(void)
{
        printk("Hello Exit!\n");
}

module_init(my_init);
module_exit(my_exit);

----my2.c-----
#ifndef __KERNEL__
#  define __KERNEL__
#endif
#ifndef MODULE
#  define MODULE
#endif

#include
#include
#include


extern int a;
int __init my_init(void)
{
        printk("This is mod2 ,Hello %d!\n",a);
        return 0;
}


void __exit my_exit(void)
{
        printk("mod2 Exit!\n");
}

module_init(my_init);
module_exit(my_exit);

说明:
在my1.c中导出的符号a,可以在my2.c中访问。

注意:
1 修改module后需要先rmmod后再insmod。
2 需要先insmod my1.ko 再insmod my2.ko
3 insmod my2.ko时提示错误Unknown symbol in module,请确认my1.ko已经insmod了。
我在修改了my1.c后,只make了而忘了insmod一直出错。
阅读(1761) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~