编写模块必须先声明下面两句:

#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            // 告诉用户空间这个模块支持什么样的设备

MODULE_声明可以写在模块的任何地方(但必须在函数外面),但是惯例是写在模块最后。

编写模块时的声明(含MODULE_LICENSE等)相关推荐

  1. vb.net编写函数应该在哪里_编写代码时清晰至上

    好的代码是清晰的代码,而不是聪明的代码 Photo by David Travis on Unsplash 许多程序员尝试编写干净,智能的代码. 但是,有时候,痴迷于智能可能会使代码库更难以理解,并且 ...

  2. python用什么来写模块-用Python编写模块有何技巧?

    随着对Python学习的深入,其优点日渐突出,让读者也感觉到Python的强大了,强大感觉之一就是"模块自信",因为Python不仅有自带的模块(称之为标准库),还有海量的第三方模 ...

  3. 无法找到模块“mint-ui”的声明文件_[搬运] JavaScript 模块化:CommonJS vs AMD vs ES6...

    本文主体部分 翻译+搬运 自外网著名技术博客网站 medium.com 的一篇点赞数 2.7k 的文章 (文章链接在结尾处) 什么是 JavaScript 模块 JavaScript 模块指的是一段可 ...

  4. 用二分法编写猜数字游戏(含:猜电脑随机数,和用户自己想的数字)python

    目录 #什么是二分法 #用二分法猜电脑随机数 #用二分法猜用户所想的数 1.什么是二分法? 对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点 ...

  5. 在编写QT时出现:程序异常结束。 The process was ended forcefully.

    在编写QT时出现:程序异常结束. The process was ended forcefully. 原因:声明了一个变量,但是没有初始化,但是在某处直接调用了这个声明却没有初始化的变量,造成Qt运行 ...

  6. 微信小程序原生开发集成IM服务出现无法找到模块“tim-wx-sdk”的声明文件问题解决

    微信小程序原生开发集成IM服务出现无法找到模块"tim-wx-sdk"的声明文件问题解决: 通过npm命令安装配置: 在终端进入到小程序项目根目录执行:npm install 未初 ...

  7. Visual Studio调试时遇到的问题:生成下面模块时,启用了优化或没有调试信息

    Posted on 2010/04/26 by zitiger 最近调试程序过程中每次都出现这样的信息:"生成下面模块时,启用了优化或没有调试信息",点了"确定" ...

  8. mysql编写中文时变成问号解决方法

    mysql编写中文时变成问号解决方法 参考文章: (1)mysql编写中文时变成问号解决方法 (2)https://www.cnblogs.com/yangzhixue/p/11449525.html ...

  9. idea修改java和jsp不起作用_使用IDEA编写jsp时EL表达式不起作用的问题及解决方法...

    在使用IDEA开发maven+springMVC项目时遇到不加载EL表达式的问题,怎么处理呢?下面小编给大家带来了实现代码,一起看看吧 加载如下JSP代码: Title ${lists.usernam ...

最新文章

  1. 女皇万岁!我们是来送礼的 ——阿里聚安全春天系列全套大礼包
  2. Springmvc的handler method参数绑定常用的注解
  3. hdu 4430 Yukari's Birthday (简单数学 + 二分)
  4. php pdo 参数绑定,PDO绑定参数的其他方法
  5. JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
  6. [LeetCode Online Judge]系列-求二维平面内在一条直线上的最大点数
  7. 腾讯员工平均月薪7万?腾讯回应:完全不能这么算
  8. int和Integer有什么区别(转)
  9. 2021计算机视觉-包揽所有前沿论文源码 -上半年
  10. 去掉韩版 lg 锁屏双时钟 删除预装软件 适用安卓10
  11. Wunderlist1.22(Window版)无法启动的解决方法
  12. PCI-E x1/x4/x8/x16四种插槽区别是什么?具体有什么作用?
  13. Dorado7自定义下拉框
  14. 明星IP资本局:风华秋实、巨星传奇再闯IPO
  15. .bat批处理(十一):替换字符串中包含百分号%的子串
  16. excel函数技巧:MAX在数字查找中的应用妙招
  17. XP系统添加网络打印机步骤
  18. 赫夫曼树的创建(思路分析)
  19. 一种快速的幂运算方法(底数是自然数e,指数是浮点数)
  20. 2019 CCF-CCSP-苏州之旅

热门文章

  1. BadgerDAO锁仓量超过9亿美元
  2. Crypto.com APP上线The Graph(GRT)
  3. SAP License:SAP与中国电子技术标准化研究院开展交流活动
  4. 线上风控与数据埋点三部曲(一)——流量江湖不是处女地,投放渠道需谨慎
  5. ubuntu NGINX uwsgi https 部署Django 遇到的问题
  6. 增加磁盘,无需reboot
  7. 面向对象程序设计简介
  8. java微信开发API解析(二)-获取消息和回复消息
  9. javascript学习笔记(十五) 间歇调用和超时调用
  10. 结构之法算法之道CSDN博客-第一期全部博文集锦[CHM 文件下载]