linux内核版本判断

有时候在一些项目中进行内核模块移植的时候,我们会遇到对于不同的内核版本结构体定义不同或者API参数不同的情况,这时候我们就需要对内核版本进行版本。

LINUX_VERSION_CODE,这个是当前内核的版本,可以使用下面的方法在编译的时候对内核版本进行判断:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)

上面两个宏都是定义在include/linux/version.h中,定义如下:

#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

a、b、c分别是主、从、修订版本号。

注意:linux/version.h这个文件在刚刚下载下来的内核源代码里是没有的, 只有你真正编译过 linux 源代码目录下的内核一次后,才会自动生成对应的version.h文件 。

Reference:

  • http://blog.csdn.net/leolinux/article/details/5832845

posted on 2014-02-08 17:04  vinurs  阅读(2103)  评论(0编辑  收藏  举报

导航