linux添加可加载内核模块(LKM入门)

本文介绍了Linux内核编程中的LKM,即可加载内核模块。LKM作为内核扩展,允许动态加载和卸载,便于功能扩展。文中展示了创建简单模块的步骤,包括module_init()和module_exit()函数,以及如何通过Makefile编译模块。加载模块使用insmod命令,查看已加载模块用lsmod,卸载则用rmmod。
摘要由CSDN通过智能技术生成

        学习linux内核编程,LKM(可加载内核模块)是非常有用的一部分。LKM是内核的扩展,可以随时加载到内核中,用完后也可以方便的卸载,是扩展linux内核功能的有效手段。

        下面编写一个简单的模块,并实现加载:

代码如下:

/*hellomodule.c*/
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Module Author");
MODULE_DESCRIPTION("Module Description");

static int __init hello_init(void)
{
        printk(KERN_ALERT "HelloModule is installed.\n");
        return 0;
}

static void __exit hello_exit(void)
{
        printk(KERN_ALERT "HelloModule is removed.\n");
}

module_init(hello_init);
module_exit(hello_exit);

解释:

        模块需要至少需要两个函数module_init()和module_exit()。其中第一个是在安装模块时被调用,所有的初始化工作可以再其中完成。第二个函数是在卸载模块时调用,可以在其中做一些清理工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值