码迷,mamicode.com
首页 > 其他好文 > 详细

2.2内核模块编译

时间:2016-06-14 19:38:49      阅读:216      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!