内核驱动宏__init,__exit,__initdata的作用
来源:互联网 发布:网络通信安全管理员证 编辑:程序博客网 时间:2024/05/16 11:39
在编写驱动中,我们经常看到这些宏定义,我们定位进去看看,在<linux/init.h>
#define __init __section(.init.text) __cold notrace
#define __initdata __section(.init.data)
#define __initconst __section(.init.rodata)
#define __exitdata __section(.exit.data)
#define __exit_call __used __section(.exitcall.exit)
再定位__section()宏,它表示的是# define __section(S) __attribute__ ((__section__(#S)))
这里用到了__attribute__ 属性,__attribute__主要用于改变所声明据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回值、pure表明函数除返回值外,不会通过其它(如全局变量、指针)对函数外部产生任何影响。这里我们用到了子项_section__,在驱动模块函数前加了这个表示在内核启动的时候,将这些函数放入对应的某些区段内进行执行,启动完毕,释放这些段的内存。
0 0
- 内核驱动宏__init,__exit,__initdata的作用
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法 .
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- linux内核及驱动开发中有关__init,__exit和__initdata的用法
- 内核模块中__init,__exit的作用
- __init、__initdata、__exit、__exitdata
- 如何实现提示信息又可以刷新界面的实现
- 表与表之间的关系
- 数据库PDO、mysqli扩展与数据库交互
- Android开发的权限大全
- java实现 取当前时间的前7天的日期
- 内核驱动宏__init,__exit,__initdata的作用
- 狄更斯笔下的雾霾
- Harris原理及opencv源码分析
- 我读《移动互联网中基于机器学习的用户个性化QoE评估》
- CodeIgniter学习笔记
- 建立linux 软件仓库
- Java开发环境搭建
- QT字符与字符串转换
- MAC平台下Xcode配置使用OpenCV的具体方法