zoukankan      html  css  js  c++  java
  • EXPORT_SYMBOL是什么?

    参考博客

    1、EXPORT_SYMBOL是什么?

    EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用(使用前使用extern声明一下就行),即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。

    注意:

    EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的。
    2.6就必须用EXPORT_SYMBOL() 来导出来(因为2.6默认不到处所有的符号)。 

    2、使用流程

    在模块函数定义之后使用“EXPORT_SYMBOL(函数名)”来声明。

    在调用该函数的另外一个模块中使用extern对之声明。

    先加载定义该函数的模块,然后再加载调用该函数的模块,请注意这个先后顺序。

    3、示例

    static int function_one(void)
    {
    
        printk("EXPORT_SYMBOL In Func: %s...
    ",__func__);
        return 0;
    
    }
    EXPORT_SYMBOL(function_one);
  • 相关阅读:
    分组声明
    描述项目的典型用户与场景
    用户调研
    10-11-12
    Sprint--5.21
    Cosplay之孩子的妈咪
    作业5.1之5.2
    51nod 1393 1393 0和1相等串
    51nod 1090 3个数和为0(排序+二分)
    51nod 1095 Anigram单词(map的使用)
  • 原文地址:https://www.cnblogs.com/xz-954042850-qq/p/12792118.html
Copyright © 2011-2022 走看看