• 编写模块时的声明(含MODULE_LICENSE等)(转)


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

    #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_声明可以写在模块的任何地方(但必须在函数外面),但是惯例是写在模块最后。

  • 相关阅读:
    obj2opengl:转换OBJ 3D模型到iPhone OpenGL ES兼容的数组中
    [iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型
    [iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之一:OBJ格式分析
    Excel双击“单元格”后,自动跳转到相关“工作表
    如何设置UITextField的焦点?
    IOS 数据储存
    解决Use 'LimitInternalRecursion' to increase the limit if necessary的问题 CodeIgniter .htaccess
    iOS 9界面适配利器:详解Xcode 7的新特性UIStackView
    iOS警告收集
    iOS划虚线
  • 原文地址:https://www.cnblogs.com/kwseeker-bolgs/p/4343392.html
Copyright © 2020-2023  润新知