LINUX学习笔记21——内核模块

  • Post author:
  • Post category:linux


(一)   LINUX“内核模块”的开发:

1.         如何使用需要的组件

a)         把所有的组件都编译进内核文件:

i.              缺陷1:内核文件过大

ii.              缺陷2:如果要添加或删除某个组件,需要重新编译整个内核

b)         使用“内核模块”的机制:

i.              模块本身并不被编译进内核文件

ii.              以根据需求,在内核运行期间动态的安装或卸载。

2.         程序结构:例:vi hello.c

a)         #include <linux/init.h>

b)         #include <linux/module.h>   头文件

c)         static int hello_init(void)

d)         {

e)         printk(KERN_WARNING “Hello, world !\n”);   打印函数

f)          return 0;

g)         }

h)         static void hello_exit(void)

i)           {

j)           printk(KERN_INFO “Goodbye,  world\n”);

k)         }

l)           module_init(hello_init);       模块加载函数(必需)

m)       module_exit(hello_exit);      模块卸载函数(必需)

3.         模块的编译:使用Makefi



版权声明:本文为yuzhenhua001原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。