学习笔记:Linux下编写内核模块(0)
来源:互联网 发布:个人域名转企业域名 编辑:程序博客网 时间:2024/06/03 22:48
最简单的内核模块编写,需要包含以下最基本的条件:
1、头文件
根据功能的需求,添加不同功能的内核相关头文件
#include <linux/module.h>
#include <linux/init.h>
以上两个头文件是必不可少的。
2、模块初始化
模块初始化函数
static int __init module_init_func(void)
{
初始化代码;
}
module_init(module_init_func) ;
模块退出函数
static void __exit module_exit_func(void)
{
模块退出代码 ;
}
module_exit(module_exit_func) ;
以上两个函数都不和应用层打交道,都只与内核的模块管理子系统打交道。
3、许可证
MODULE_LINCENSE("GPL") ;
4、符号导出
EXPORT_SYMBOL(module_symble) ; #想让当前的某一模块符号能被其他模块使用,可以通过此方式实现。
5、模块描述
MODULE_AUTHOR("作者名");
MODULE_DESCRIPTION("模块描述") ;
MODULE_VERSION("模块版本") ;
6、编译
编写Makefile文件:
obj-m := filename.o
编译是要用到内核代码的,需要知道内核代码所在路径,然后在终端输入
$make -c ~/linux(内核源码路径) M=`pwd`(目标路径) modules ;
7、加载和卸载模块
#insmod modulename.ko
#rmmod modulename.ko
- 学习笔记:Linux下编写内核模块(0)
- Linux学习笔记 - 内核模块
- linux内核模块学习笔记
- 学习Linux内核模块编写总结
- 编写Linux内核模块
- linux内核模块编写
- 编写Linux内核模块
- linux 内核模块编写
- linux内核模块编译学习笔记
- 嵌入式Linux学习笔记之内核模块
- 编写自定义Linux内核模块
- 初学编写linux内核模块
- 编写自定义Linux内核模块
- 初学编写linux内核模块
- linux内核模块编写方法
- linux内核模块的编写
- 内核模块编写学习总结(
- linux内核模块笔记
- 53. Maximum Subarray
- [leetcode]136. Single Number
- 二叉查找树(二叉排序树)创建、插入、删除、查找-C语言
- 静态方法与动态方法的区别
- AutoCad.net开发(2)
- 学习笔记:Linux下编写内核模块(0)
- android中的事件分发与消费机制简答介绍
- 数据结构实验之链表八:Farey序列
- VS2013使用注意事项
- 30、Power Query-搞清Power Query中的表结构
- 洛谷 P1540 机器翻译
- 参加”WEEX Conf“小体会
- DML数据操纵语言
- linux常用命令