EXPORT_SYMBOL(),这个宏也是将函数导出让所有模块都可以使用,而EXPORT_SYMBOL_GPL()这个宏主要是给有GPL认证的模块使用。

2)、EXPORT_SYMBOL标签内定义的函数对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用。

3)、EXPORT_SYMBOL(符号名);  EXPORT_SYMBOL_GPL(符号名)

一)主要作之一: 内核"导出"的符号表,这个表在insmod 时候会用到.

1./proc/kallsyms

cat /proc/kallsyms会打印出内核当前的符号表,例如:

...

d8834a24 t snd_free_sgbuf_pages [snd_page_alloc]

d8834ab5 t snd_malloc_sgbuf_pages [snd_page_alloc]

c014f906 U kmem_cache_alloc [snd_page_alloc]

c0106dcd U dma_alloc_coherent [snd_page_alloc]

...

其中第一列是该符号在内核地址空间中的地址;第二列是符号属性,小写表示

局部符号,大写表示全局符号,具体含义参考man nm; 第三列表示符号字符串.

这里只能显示EXPORT_SYMBOL,EXPROT_SYMBOL_GPL处理过的符号。

2.System.map内核符号文件

通过more /boot/System.map 可以查看内核符号列表。

可以显示编译好内核后所有在内核中的符号,模块中的要另行查看。

3.通过nm vmlinux也可以查看内核符号列表

可以显示编译好内核后所有在内核中的符号,模块中的要另行查看。

4.通过nm module_name可以查看模块的符号列表

但是得到是相对地址,只有加载后才会分配绝对地址。比如:e1000模块,如果e1000中的符号经过EXPORT_SYMBOL处理,

等加载后,我们可以通过more /boot/System.map和nm vmlinux命令查看到,但是没有EXPORT_SYMBOL的,不能查看。

代码如:

int __gpio_cansleep(unsigned gpio)

{

struct gpio_chip *chip;

linux symbol文件,LINUX EXPORT_SYMBOL_GPL及EXPORT_SYMBOL导出函数相关推荐

  1. linux设备文件,Linux 文件系统与设备文件

    1 Linux 文件系统 1.1 Linux 文件系统与设备驱动关系 下图表明了 Linux 中虚拟文件系统.磁盘/Flash文件系统以及一般的设备文件与设备驱动程序之间的关系. 文件系统与设备驱动之 ...

  2. linux php文件,Linux php文件安装目录在哪

    php文件安装目录一般默认在"/var/www"里面,如果是自定义安装,则可以用Linux的命令进行查找,查找的命令是"find / -name "*www*& ...

  3. linux 编码文件,linux文件编码

    linux下新建一个文件,或采用fopen新建,那么文件的编码是什么? 怎么查看文件编码格式: 查看文件编码file命令 file ip.txt ip.txt: UTF-8 Unicode text, ...

  4. 怎么解压linux镜像文件,linux 怎么解压文件

    linux怎么解压文件 Linux提供了一个很简单的功能,用来解压*.zip 文件. 解压命令:unzip filename.zip Linux系统中还有一类后缀为*.tar的文件. 解压命令为: t ...

  5. linux 移动 文件,linux移动文件命令

    linux移动文件命令 mv命令 功能:为文件或目录改名或将文件由一个目录移入另一个目录中.该命令如同DOS下的ren和move的组合. 语法:mv [选项] 源文件或目录 目标文件或目录 说明: 视 ...

  6. memset linux 头文件,linux下C/C++头文件梳理,看完这篇再也不会搞糊涂头文件了!...

    一:前言 进行linux下C/C++服务端后台开发的都知道,需要跟各种头文件打交道. 比如使用printf函数则需要引用#include ,使用STL的map容器则要#include ,使用socke ...

  7. linux nm工具 查看静动态库导出函数

    查看动态导出函数 方法一 nm -D  **.so 但这样能看到所有的导出,乱七八糟的很多,筛选用: nm **.so | grep XX 方法二 objdump -tT **.so 查看静态导出函数 ...

  8. linux symbol文件,[转] Linux文件系统之hard linksymbol link

    ajax跨域往php程序post数据时,php程序总是执行两次的解决方法 php程序是部署在IIS7上面,ajax提交数据时,遇到了两个问题,一个就是跨域,一个php程序总会被执行两次. 第一个问题的 ...

  9. python 测试linux dev文件,Linux测试开发人员要掌握的Linux命令有哪些?

    今天小编要跟大家分享的文章是关于Linux测试开发人员要掌握的学习Linux和 一.文件和目录相关 文件和目录相关 1.进入目录--cd cd /usr/local //进入/usr/local这个目 ...

最新文章

  1. PHPUnit实践二(生命周期)
  2. oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法
  3. 计算机配置里面没有网络选项,主编教您win10网络设置中没有wlan选项怎么办
  4. 论文中常用的几个Word2010技巧
  5. springboot抑制log中的info信息
  6. 个人计算机的组成及相关功能,计算机的组成部分及功能(范文).doc
  7. gulp-cli命令安装出错_Java Mac上的安装
  8. 如何进程linux c,在Linux上,在C中,我如何获得进程的所有线程?
  9. 巴塞尔大学合作项目博士招生,医学图像分析领域
  10. 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
  11. 数据:比特币和以太坊的证券产品规模已超过百亿美元
  12. 脚本录制软件python 按键精灵 tc_GitHub - yang-dongxu/KeymouseGo: 类似按键精灵的鼠标键盘录制和自动化操作...
  13. 网络是怎样连接起来的
  14. 3dmax导出fbx模型壳材质贴图丢失
  15. 国产性能最稳定NFC读卡器芯片FSV9520完美替代CV520 SPI接口 可免费提供软硬件DEMO 快速研发产品
  16. android 时钟动态图标,神奇的Android动态时钟/时间UI界面
  17. 行人属性识别:Grouping Attribute Recognition for Pedestrian with Joint Recurrent Learning
  18. 【seo】seo网站优化过程
  19. Prompt-Learning for Fine-Grained Entity Typing
  20. 使用python绘制图形入门教程

热门文章

  1. 递归实现数字排列组合
  2. 怎么一键备份服务器系统还原,电脑怎么一键还原
  3. opencv图像灰化_opencv读入图像、灰度化、归一化、向量化
  4. java序列化 jar_使用序列化将对象传递给另一个JVM – 相同的Java版本和jar(都运行我们的应用程序)...
  5. 弹性均质圆环法计算过程_蚝油的加工工艺,蚝油总固形物(水分含量)计算公式,检测方法...
  6. java模态_java – 如何在另一个模态JDialog之上创建一个模态的JDialog
  7. 1.1 回归问题-机器学习笔记-斯坦福吴恩达教授
  8. STM32 电机教程 25 - ST MCLIB实战之开环svpwm控制
  9. android检测内存使用工具--procrank
  10. 更新网盘(云存储)功能需求,免费网盘需求,手机数据备份