码迷,mamicode.com
首页 > 其他好文 > 详细

内核模块可选信息

时间:2015-02-16 18:06:30      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

前一次讲的三个要素是编写内核模块必不可少的三个信息,今天讲的这些是可选信息,可写可不写。
  一、模块申明
    MODULE_LICENSE("GPL");                            声明模块遵守的协议
    MODULE_AUTHOR("Bumble Bee");                声明模块编写的作者
    MODULE_DESCRIPTION("print helloworld");  声明模块的功能
    MODULE_VERSION("1.0");                             声明模块版本
  二、模块参数
    通过宏module_param(name,type,perm)来声明。其中name为变量名,type为变量类型,perm未访问权限。变量类型有 int,bool,charp三种;访问权限有S_IRUGO(读)、S_IWUSR(写)两种。用法如下:

    技术分享

    在安装内核模块时就可以输入参数了

    技术分享

  三、符号导出
            当一个模块调用另外一个模块中实现的函数时需要用到这个。例如现在有两个模块,一个helloworld.ko,一个add.ko。在add模块中实现了 一个add函数,想要在helloworld模块中调用它,如果不进行符号导出的话就会出现这样的错误。  

    技术分享

    提示找不到add这个函数符号。所以在add.c中要加入符号导出,即EXPORT_SYMBOL(函数名)。

    技术分享

    在helloworld.c中要将add函数外部输出

    技术分享

    这样就可以在helloworld.ko内核模块中调用add.ko模块中的变量了。

    

内核模块可选信息

标签:

原文地址:http://www.cnblogs.com/51qianrushi/p/4294376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!