首页 > 其他分享 >使用EXPORT_SYMBOL

使用EXPORT_SYMBOL

时间:2024-09-16 22:26:10浏览次数:12  
标签:GPL SYMBOL sym export 使用 EXPORT 加载

       在Linux内核里,我们编写驱动程序时,如果遇到的驱动太大,需要在各个模块之间共享一些变量或函数等,此时就需要用到内核里的EXPORT_SYMBOL宏了,其在include/linux/export.h文件中定义,而最常用的有如下两个:

#define EXPORT_SYMBOL(sym)                                      \
        __EXPORT_SYMBOL(sym, "")

#define EXPORT_SYMBOL_GPL(sym)                                  \
        __EXPORT_SYMBOL(sym, "_gpl")

       其中,多加了_GPL尾的量需要在使用MODULE_LICENSE()宏定义为GPL协议的模块里才能引用,不然加载驱动时会有类似Unknown symbol export_orig_gpl (err 0)的提示(该提示取自下面的例子),当然,模块之间也需要有加载先后顺序,其中EXPORT的模块需先加载,extern的后加载,不然也会有类似如上的提示。

       这里的例子会用到两个源码文件,作为export的文件名为export_orig.c,作为extern的文件名为expo

标签:GPL,SYMBOL,sym,export,使用,EXPORT,加载
From: https://blog.csdn.net/guochongxin/article/details/142026866

相关文章

  • 基于Python的自然语言处理系列(9):使用TorchText与预训练词嵌入进行新闻分类
            在前一篇文章中,我们展示了如何使用TorchText和RNN进行新闻分类。在这篇文章中,我们将改进之前的模型,通过使用预训练词嵌入、优化器的更改、正交初始化以及打包填充序列的技巧,提升模型的学习效率和效果。1.改进方向提高模型学习效果:使用预训练词嵌入:使用Fast......
  • 六、LoRa模型的使用
    LoRa模型的使用在先前的文生图实践中,我们可能遇到了模型生成的图像与预期不符的情况。模型似乎总是按照它自己的逻辑来创作,这让我们感到有些束手无策。但别担心,现在我们有了一种新的方法来引导模型,使其更贴近我们的需求。这就是提供参考图像——一个看似简单却强大的技巧。......
  • SSH工具 MobaXterm的使用与快捷配置
    软件下载/安装与链接服务器/本地虚拟机文章目录软件下载/安装与链接服务器/本地虚拟机软件下载软件安装使用软件链接非本地机器并设置用户密码我不想有确定密码的弹窗其余便捷配置配置右键粘贴SSH链接设置软件下载如果你访问不了这个网址,可以评论区找博主或者关......
  • 一个使用 PyTorch 实现的中文聊天机器人对话生成模型916
    这是一个使用PyTorch实现的中文聊天机器人对话生成模型。1数据准备代码假设有两个文件:questions.txt和answers.txt,它们分别包含输入和输出序列。load_data函数读取这些文件并返回一个句子列表。build_vocab函数通过遍历句子来构建词汇表字典word2index和index2......
  • 10、结构体的定义和使用
    定义结构体数组结构体指针结构体嵌套结构体......
  • Cacti完全使用手册
    I.总览                        Cacti和Nagios的监控体系可以说是使用广泛而且支持丰富的国内外的运维人员都需要掌握的一套监控体系,这套体系的好处在于使用Cacti的强大画图和自定义画图能力,以及Nagios的可控报警。但是网上的大部......
  • 【编程小白必看】python使用tkinter页面操作秘籍一文全掌握
    【编程小白必看】python使用tkinter页面操作秘籍......
  • 在 fnOS上安装 KVM 虚拟化,并使用 Cockpit 网页管理虚拟机
    在fnOS系统上安装KVM虚拟化,并使用Cockpit进行网页管理,可以按照以下步骤进行:1.安装KVM虚拟化组件首先,更新软件列表和系统包:sudoaptupdate&&sudoaptupgrade-y安装KVM及相关工具软件:sudoaptinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-u......
  • C++从小白到大牛:C++智能指针的使用、原理和分类
    C++从小白到大牛:C++智能指针的使用、原理和分类引言在C++编程中,指针是一个强大但危险的工具。它们允许直接操作内存,但也可能导致内存泄漏、悬空指针等问题。为了解决这些问题,C++引入了智能指针(SmartPointers)的概念。智能指针是一种封装了原始指针的对象,它们自动管理内存的生命周期......
  • 使用Linux宝塔搭建项目
    一、配置必要插件在正式部署之前,我们应该将前提条件准备好, 必要的有FTP、MySQL、PHP、phpMyAdmin、java项目一键部署,其中,PHP用来启动前端项目,phpMyAdmin用来开启一个新的网页管理MySQL数据库。二、打包前端项目:注意避坑:1.baseURL:改为服务器ip以及后端接口2.router/index.......