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);
  • 相关阅读:
    SpringMvc
    Spring-Aop
    Spring-IOC
    Spring模块划分
    队列
    稀疏数组
    数据结构
    Nginx配置实例
    Nginx常用命令
    视频断点播放:h5+jquery
  • 原文地址:https://www.cnblogs.com/xz-954042850-qq/p/12792118.html
Copyright © 2011-2022 走看看