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

时间: 2024-11-06 01:34:54

编写模块时的声明(含MODULE_LICENSE等)(转)的相关文章

(备忘)vs2010编写动态链接库时导出函数的函数名问题及加载方式

在vs2010中使用.def文件导出函数时,仅仅添加.def文件是不够的,还要在 项目属性 -> 链接器 -> 输入 -> 模块定义文件 中添加自定义的.def文件名. (前提:导入导出都在头文件和源文件中定义好了) ##:静态加载动态链接库 将链接库的 头文件..lib文件 和 .dll 文件拷贝到工程目录下 然后#include 头文件,#pragma comment(lib,"**.lib") 最后直接在需要使用dll函数的地方使用函数就行 ##:动态加载动态链

(转)VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“

中调试项目遇到错误提示,Visual Studio 2010(或VS2008或VS2005)启动调试的时候,弹出提示信息: 生成下面的模块时,启用了优化或没有调试信息: C:\WINDOWS\Microsoft.NET\Frameword\v2.0.50727\Temporary   ASP.NETFiles\3cmarket\bfbd519\8aA985a18\assembly\dl3\4051c514\d0da2e40_ba3ec701\Adcontrol.DLL若要调试此模块,请将其项目生

命令行执行python模块时提示包找不到的问题

庄稼人不是专职python开发的道友,虽然与python相识已多年,可惜相识不相知,只是偶尔借助pydev写一些简单的小工具. 多年来,一直困惑于这样一个问题:同样的工程,同样的代码,使用pydev可以运行任意一个python脚本,而使用命令行运行却不行?命令行下(或者双击执行)总是提示"ImportError: No module named xxx"?pydev究竟做了什么魔术呢? 长话短说,以上面工程为例,如果是在命令行中直接执行 python c.py , 都会提示"

编写SQL时PHP开发人员所犯的5个常见错误

本文和大家分享的主要是编写SQL时PHP开发人员常犯的一些错误,一起来看看吧,希望对大家学习php有所帮助. 杜绝使用MySQL API的旧版本 使用PHP开发时有好几种方法可以连接MySQL数据库.最常见的是MySQL API.MySQLi API和PDO API(PHP数据对象).与MySQL API旧版本相比,后面两种方法支持更多的功能,并且更加安全.如果你使用的是旧的"mysql_"函数,那么你应该马上放下手上的工作,然后开始学习新的PDO API.这些旧的 mysql函数被弃

python安装markupsafe模块时卡死的解决办法

起因: 升级OS X从10.8到10.9,会发现在安装python的markupsafe模块时一直卡住. 当时的机器环境是: OSX 10.9, XCode 4.6.2, Python 2.7.6, Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) 界面一直停留在下面的情况 mbp:MarkupSafe-0.23 $ python setup.py install running install running bdis

vs2010调试的时候出现?“生成下面的模块时,启用了优化或没有调试信息”

vs2010调试的时候出现 生成下面的模块时,启用了优化或没有调试信息: C:\WINDOWS\Microsoft.NET\Frameword\v2.0.50727\Temporary ASP.NETFiles\3cmarket\bfbd519\8aA985a18\assembly\dl3\4051c514\d0da2e40_ba3ec701\Adcontrol.DLL 若要调试此模块,请将其项目生成配置更改为"调试"模式.若要取消显示此消息,请禁用"启动时若没有用户代则发出

编写Shader时的一些性能考虑

编写shader时的一些建议:1.只计算需要计算的东西:2.通常,需要渲染的像素比顶点数多,而顶点数又比物体数多很多.所以如果可以,尽量将运算从PS移到VS,或直接通过script来设置某些固定值:3.在使用Surface Shader时,可以通过一些指令让shader优化很多. 通常情况下,Surface shader的很多默认选项都是开启的,以适应大多数情况,但是很多时候,你可以关闭其中的一些选项,从而让你的shader运行的更快: (1) approxview 对于使用了view dire

编写makefile时注意事项

CFLAGS=-Wall -g  这个-Wall开头字母一定要大写.这种小错误会导致不能编译! 其次就是在一个目录下面的应该是文件 ,而不能在继续用文件去进行编写代码,因为make寻找当前目录下的makefile,makefile里面用到的文件而不是目录里的代码,如果需要也要通过-l(l链接link)一下.所以再一个目录下,编写文件尽量用vi命令,而不是mkdir.这两个区别要搞清楚.文件与目录还是有区别的. linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具

Ubuntu安装Python模块时的报错

在安装Python的psutil模块时,报"error: command 'x86_64-linux-gnu-gcc' failed with exit status 1"的错误,系统提示缺少Python的头文件,那就是说系统没有安装python的开发包,安装之就行了. $ sudo pip install psutil [sudo] password for richard:  Downloading/unpacking psutil   Downloading psutil-2.2