赞
踩
由于Linux版本的在不断更新,当设备驱动去兼容不同版本的内核时,需要知道当前使用的内核源码版本,以此来调用对应版本的内核API,这两个宏定义在文件
- /usr/include/linux/version.h
-
- #define LINUX_VERSION_CODE 263213
- #define KERNEL_VERSION(a,b,c) (((a)<<16)+((b)<<8)+(c))
-
我安装完linux-header之后,在下面这个目录找到了version.h这个文件
/usr/lib/modules/4.4.45-1-MANJARO/build/include/generated/uapi/linux/version.h
使用的Linux系统为MANJARO,内核版本号为4.4.45,对应的LINUX_VERRSION_CODE 为263213,计算方法如下:
- #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
- ....//3.10.0 之前的API调用
- #else
- ....//3.10.0 版本之后的API调用
- #endif
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。