编写模块必须先包含下面两句:

//这个头文件包含了许多符号与函数的定义,这些符号与函数多与加载模块有关
#include <linux/module.h>               //这个头文件包含了你的模块初始化与清除的函数
#include <linux/init.h>

另外,如果你的模块需要用到参数传递,那么你可能就要包含 moduleparam.h 这个头文件了。

再者,模块里常包含一些描述性声明,如:

MODULE_LICENSE("GPL");          // "GPL" 是指明了 这是GNU General Public License的任意版本// “GPL v2” 是指明 这仅声明为GPL的第二版本// "GPL and addtional"// "Dual BSD/GPL"// "Dual MPL/GPL"// "Proprietary"  私有的// 除非你的模块显式地声明一个开源版本,否则内核会默认你这是一个私有的模块(Proprietary)。MODULE_AUTHOR                   // 声明作者
MODULE_DESCRIPTION              // 对这个模块作一个简单的描述,这个描述是"human-readable"的
MODULE_VERSION                  // 这个模块的版本
MODULE_ALIAS                    // 这个模块的别名
MODULE_DEVICE_TABLE             // 告诉用户空间这个模块支持什么样的设备

linux 内核模块声明 MODULE_LICENSE相关推荐

  1. Linux内核模块简介

    一. 摘要 这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程.主要从模块开发中的常用指令.内核模块程序的结构.模块使用计数以及模块的编译等角度对内核模块进行介绍.在Linux系统 ...

  2. Linux内核模块学习笔记(转载)

    Linux内核模块    Linux设备驱动会以内核模块的形式出现,因此学会编写Linux内核模块编程是学习linux设备驱动的先决条件. 1.1linux内核模块简介 Linux内核的整体结构非常庞 ...

  3. 编写函数实现员工信息录入和输出_编写我的第一个Linux 内核模块“hello_module”...

    前言: Linux 内 核 模 块 全 称 为 " 动 态 可 加 载 内 核 模 块 (Loadable Kernel Module,LKM)",是系统内核向外部提供的功能插口. ...

  4. Linux内核模块的概念和基本的编程方法

    Linux内核模块的概念和基本的编程方法 标签: Linux内核模块 2013-06-14 18:29 1864人阅读 评论(0) 收藏 举报 分类: linux内核(34) 版权声明:本文为博主原创 ...

  5. 【Linux驱动】linux内核模块简介

    一. 摘要 这篇文章主要介绍了Linux内核模块的相关概念,以及简单的模块开发过程.主要从模块开发中的常用指令.内核模块程序的结构.模块使用计数以及模块的编译等角度对内核模块进行介绍.在Linux系统 ...

  6. linux内核模块实验,linux内核模块实验(2学时).doc

    第一个内核模块实验 一: 预习要求: ( 1 ) 做本实验之前,请复习相关内核模块知识. ( 2 ) 请了解内核模块的编写.编译及安装与卸载方法. ( 3 ) 请学习内核打印函数 printk() 的 ...

  7. 添加简单的linux内核模块,操作系统实践 第12章-添加最简单的Linux内核模块.ppt

    操作系统实践 第12章-添加最简单的Linux内核模块.ppt 文档编号:310662 文档页数:16 上传时间: 2018-07-21 文档级别: 文档类型:ppt 文档大小:2.00MB 第12章 ...

  8. c需要实现安装卸载Linux模块,Linux内核模块编译与加载

    Linux内核的整体结构非常庞大,其包含的组件也非常多,如何使用所需要的组件? 方法一: 把所有的组件都编译进内核文件,即Zlmage或bzlmage,但会导致两个问题:一是生成的内核文件过大:二是如 ...

  9. linux内核模块的程序结构

    一个Linux内核模块主要由以下几个部分组成. 1)模块加载函数(必须) 当通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块的相关初始   化工作. L ...

最新文章

  1. nginx 日志切割
  2. python编程规范 谷歌_Python最新编程规范,新手必学
  3. javascript面向对象技术基础(四)
  4. 各类防火墙应用对比分析
  5. linux分辨率和用户有关吗,Linux系统在高分屏非正常分辨率显示
  6. java水泡_JAVA图像处理系列(八)——艺术效果:水泡
  7. 小学计算机课程报告怎么写,小学计算机课论文摘要怎么写 小学计算机课论文摘要范文参考...
  8. 测试的目的、时期、分类
  9. javascript滚动条响应鼠标滑轮的实现上下滚动事件
  10. JavaWeb(二)框架搭建篇
  11. Redis集群:./redis-trib.rb:24:in `require': no such file to load -- rubygems
  12. CTF知识总结--MISC
  13. centos7 “v篇n“工具
  14. windows配置指定网段流量走虚拟专用网络
  15. 数据库性能优化--超详细
  16. WIFI系列协议--802.11s--Mesh网络
  17. Python -- 堆数据结构 heapq - I love this game! - 博客频道 - CSDN.NET
  18. uniapp项目H5端横屏问题-样式错乱+字体大小+video
  19. svg转成jpg/png图片跨域图片
  20. 6月19,观世音菩萨成道

热门文章

  1. 安信可ESP-12F(ESP8266)介绍与使用
  2. nosql ( redis 跟 memcache )的区别
  3. matlab-高数 find 找到集合中特定元素的位置
  4. 自定义Unity 容器的扩展 --- Unity Application Block Event Broker
  5. 安装Ruby和Rails运行环境
  6. windows下安装pygtk报g_assertion_message无法定位libglib-2.0-0.dll错误解决
  7. 更改本地dns的host文件解析池的FQDN,以便office communicator非域远程登录
  8. shell脚本的规范
  9. linux文本处理工具之grep与正则表达式语法
  10. Redis进阶实践之五Redis的高级特性