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