首页 > 其他 > 详细

2.2内核模块编译

时间:2016-06-14 19:35:36      阅读:195      评论:0      收藏:0      [点我收藏+]

内核模块编译

20135206 于佳心

?

基础知识了解:

模块构造函数:

执行insmod或modprobe指令加载内核模块时会调用的初始化函数。函数原型必须是module_init(),括号内是函数指针

模块析构函数:

执行rmmod指令卸载模块时调用的函数。函数原型是module_exit()

模块许可声明:

函数原型是MODULE_LICENSE(),告诉内核该程序使用的许可证,不然在加载时它会提示该模块污染内核。一般会写GPL。

先写一个简单的代码

技术分享

写Makefile

技术分享

通过make来执行

技术分享

Make之后出现了好多文件

技术分享

加载模块

sudo insmod printname.ko

技术分享

测试模块

dmesg看内核信息

卸载模块

sudo rmmod printname

?

接下来编写更复杂的代码,实现输出当前进程信息的功能以及实现读取进程链表的功能,这里只展示输出进程列表的截图

技术分享

技术分享

技术分享

2.2内核模块编译

原文:http://www.cnblogs.com/javablack/p/5585155.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!