linux symbol文件,LINUX EXPORT_SYMBOL_GPL及EXPORT_SYMBOL导出函数
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导出函数相关推荐
- linux设备文件,Linux 文件系统与设备文件
1 Linux 文件系统 1.1 Linux 文件系统与设备驱动关系 下图表明了 Linux 中虚拟文件系统.磁盘/Flash文件系统以及一般的设备文件与设备驱动程序之间的关系. 文件系统与设备驱动之 ...
- linux php文件,Linux php文件安装目录在哪
php文件安装目录一般默认在"/var/www"里面,如果是自定义安装,则可以用Linux的命令进行查找,查找的命令是"find / -name "*www*& ...
- linux 编码文件,linux文件编码
linux下新建一个文件,或采用fopen新建,那么文件的编码是什么? 怎么查看文件编码格式: 查看文件编码file命令 file ip.txt ip.txt: UTF-8 Unicode text, ...
- 怎么解压linux镜像文件,linux 怎么解压文件
linux怎么解压文件 Linux提供了一个很简单的功能,用来解压*.zip 文件. 解压命令:unzip filename.zip Linux系统中还有一类后缀为*.tar的文件. 解压命令为: t ...
- linux 移动 文件,linux移动文件命令
linux移动文件命令 mv命令 功能:为文件或目录改名或将文件由一个目录移入另一个目录中.该命令如同DOS下的ren和move的组合. 语法:mv [选项] 源文件或目录 目标文件或目录 说明: 视 ...
- memset linux 头文件,linux下C/C++头文件梳理,看完这篇再也不会搞糊涂头文件了!...
一:前言 进行linux下C/C++服务端后台开发的都知道,需要跟各种头文件打交道. 比如使用printf函数则需要引用#include ,使用STL的map容器则要#include ,使用socke ...
- linux nm工具 查看静动态库导出函数
查看动态导出函数 方法一 nm -D **.so 但这样能看到所有的导出,乱七八糟的很多,筛选用: nm **.so | grep XX 方法二 objdump -tT **.so 查看静态导出函数 ...
- linux symbol文件,[转] Linux文件系统之hard linksymbol link
ajax跨域往php程序post数据时,php程序总是执行两次的解决方法 php程序是部署在IIS7上面,ajax提交数据时,遇到了两个问题,一个就是跨域,一个php程序总会被执行两次. 第一个问题的 ...
- python 测试linux dev文件,Linux测试开发人员要掌握的Linux命令有哪些?
今天小编要跟大家分享的文章是关于Linux测试开发人员要掌握的学习Linux和 一.文件和目录相关 文件和目录相关 1.进入目录--cd cd /usr/local //进入/usr/local这个目 ...
最新文章
- PHPUnit实践二(生命周期)
- oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法
- 计算机配置里面没有网络选项,主编教您win10网络设置中没有wlan选项怎么办
- 论文中常用的几个Word2010技巧
- springboot抑制log中的info信息
- 个人计算机的组成及相关功能,计算机的组成部分及功能(范文).doc
- gulp-cli命令安装出错_Java Mac上的安装
- 如何进程linux c,在Linux上,在C中,我如何获得进程的所有线程?
- 巴塞尔大学合作项目博士招生,医学图像分析领域
- 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
- 数据:比特币和以太坊的证券产品规模已超过百亿美元
- 脚本录制软件python 按键精灵 tc_GitHub - yang-dongxu/KeymouseGo: 类似按键精灵的鼠标键盘录制和自动化操作...
- 网络是怎样连接起来的
- 3dmax导出fbx模型壳材质贴图丢失
- 国产性能最稳定NFC读卡器芯片FSV9520完美替代CV520 SPI接口 可免费提供软硬件DEMO 快速研发产品
- android 时钟动态图标,神奇的Android动态时钟/时间UI界面
- 行人属性识别:Grouping Attribute Recognition for Pedestrian with Joint Recurrent Learning
- 【seo】seo网站优化过程
- Prompt-Learning for Fine-Grained Entity Typing
- 使用python绘制图形入门教程
热门文章
- 递归实现数字排列组合
- 怎么一键备份服务器系统还原,电脑怎么一键还原
- opencv图像灰化_opencv读入图像、灰度化、归一化、向量化
- java序列化 jar_使用序列化将对象传递给另一个JVM – 相同的Java版本和jar(都运行我们的应用程序)...
- 弹性均质圆环法计算过程_蚝油的加工工艺,蚝油总固形物(水分含量)计算公式,检测方法...
- java模态_java – 如何在另一个模态JDialog之上创建一个模态的JDialog
- 1.1 回归问题-机器学习笔记-斯坦福吴恩达教授
- STM32 电机教程 25 - ST MCLIB实战之开环svpwm控制
- android检测内存使用工具--procrank
- 更新网盘(云存储)功能需求,免费网盘需求,手机数据备份