1. 内核模块程序和普通应用程序的区别 (详情搜索百度linux模块编译)
应用程序 | 内核模块程序 | |
使用函数 | lib函数 | 内核函数 |
运行空间 | 用户空间 | 内核空间 |
运行权限 | 普通用户 | 超级用户 |
入口函数 | main | module_init |
出口函数 | exit | module_exit |
编译 | gcc | Makefile |
链接 | gcc | insmod |
运行 | 直接运行 | 模块加载时运行 |
2. 编写源程序hello.c
#include <linux/init.h>
#include <linux/module.h>
static int __init hello_init(void) // __init 和__e