学习Linux内核模块编写总结

在学习编写Linux内核模块的时候我们首先要清楚的知道内核模块的作用,为什么要使用内核模块?这是因为Linux内核的整体结构非常的庞大,包含的组件也非常的多,把所有的内核模块都编译到Linux内核,会导致的问题是内核很大,同时在现有的内核新增或删除部分功能时,不得不重新编译内核,可谓相当的费时。而模块的使用就是为了解决这一问题,即动态的在内核中添加或者删除相应功能。下面以一个经典的代码来看是相关的分析:

#include
#include

MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("xxx");
MODULE_DESCRIPTION("Hello World Module");
MODULE_ALIAS("a simplest module");

static int __init hello_init()
{
    printk(KERN_EMERG"Hello World!/n");  //注意比较两种printk( )参数的不同之处
    return 0;                                                     //即优先级的用法
}

static void __exit hello_exit()
{
    printk("<6>hello exit/n");
}

module_init(hello_init);
module_exit(hello_exit);
在阅读相关的代码时我们的入口点不再是main( )函数,而应该是module_init( 函数名 )函数;细心的话就会发现在hello_init()函数前面有一个__init ,它的作用是在连

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值