linux模块编译

上传人:cn****1 文档编号:499970764 上传时间:2023-05-28 格式:DOC 页数:4 大小:63.50KB
返回 下载 相关 举报
linux模块编译_第1页
第1页 / 共4页
linux模块编译_第2页
第2页 / 共4页
linux模块编译_第3页
第3页 / 共4页
linux模块编译_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《linux模块编译》由会员分享,可在线阅读,更多相关《linux模块编译(4页珍藏版)》请在金锄头文库上搜索。

1、linux模块编译步骤(原)本文将直接了当的带你进入linux的模块编译。当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂。之所以要写这篇文章,主要是因为从书本上学的话,可能要花更长的时间才能学会整个过程,因为看书的话是一个学习过程,而我这篇文章更像是一个培训。所以实践性和总结性更强。通过本文你将会学到编译一个模块和模块makefile的基本知识。以及加载(卸载)模块,查看系统消息的一些知识;声明:本文为初学者所写,如果你已经是一个linux模块编译高手,还请指正我文章中的错误和不足,谢谢第一步:准备源代码首先我们还是要来编写一个符合linux格式的模块文件,这样我们才能开始

2、我们的模块编译。假设我们有一个源文件mymod.c。它的源码如下:mymodules.c1. #include/*引入与模块相关的宏*/2. #include/*引入modulenit()module_exit()函数*/3. #inelude/*弓|入module_param()*/45. MODULE_AUTHOR(YuQiang);6. MODULE_LICENSE(GPL);78. staticintnbr=10;9. module_param(nbr,int,S_IRUGO);10.10. staticint_inityuer_init(void)11. 12. inti;13. f

3、or(i=0;i/parameters/来查看。在这里我们是这样输入的在终端输入:Is/sys/moedle/modules/parameters/显示结果:nbr如果我们的模块加载成功了。最后我们还可以通过modinfo来查看我们的模块信息。如下在终端输入:sudomodinfomodules.ko显示结果filename:modules.kolicense:GPLauthor:YuQiangsrcversion:20E9C3C4E02D130E6E92533depends:vermagic:2.6.24-24-genericSMPmod_unload586parm:nbr:int本文总结:

4、本文的相关知识都好像有一点浅尝辙止的感觉。因为本篇文章主要是通过一条线式方式来讲解了模块编写的相关过程,其实在这个过程中还有很多可以发散的地方。例如:在写到MODULE_AUTHOR(YuQiang)的时候,你应该想到还有MODULE_DESCRIPTION(模块用途的简单描述);MODULE_VERSION(模块的版本字符串);MODULE_ALIAS(模块的别名);在写到module_param(nbr,int,S_IRUGO);的时候,你应该想到还有EXPORT_SYMBOL(name);可以导出模块的函数,这也是模块编写的最终目的在用到insmod和modinfo的时候。你应该想到还有depmod分析可加载模块的依赖性,并生成modules.dep文件和映射文件modprobeLinux内核添加删除模块

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号