美文网首页Linux 琐事之123程序员
LINUX_VERSION_CODE与KERNEL_VERSIO

LINUX_VERSION_CODE与KERNEL_VERSIO

作者: 2625K | 来源:发表于2017-02-17 09:43 被阅读173次

由于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,计算方法如下:

  • 首先将4.4.45 转为16进制为 0x04.0x04.0x2D
  • 然后宏 KERNEL_VERSION(0x04,0x04,0x2D)展开之后得到04042D 这个16进制的数字
  • 最后将0x040423 转化为十进制就得到了十进制的263213 即为 LINUX_VERSION_CODE的值263213

    可以利用下面的代码根据linux内核版本号的不同调用不同的API函数:
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
....//3.10.0 之前的API调用
#else 
....//3.10.0 版本之后的API调用
#endif 

相关文章

  • LINUX_VERSION_CODE与KERNEL_VERSIO

    由于Linux版本的在不断更新,当设备驱动去兼容不同版本的内核时,需要知道当前使用的内核源码版本,以此来调用对应版...

  • && 与& ,||与|

    回忆知识点i++,,++i变量在前 先用变量符号(☞++/--)在前 先计算

  • 认真与身板

    认真与身板 认真与态度 认真与自信 认真与信心 认真与诚心 认真与正心 认真与正念 认真与正面 认真与精诚 认真与...

  • 与荒野,与你,与自己

    周末了,想跟大家分享一首诗 《阿莱夫》 诗作者:赖尔逊 阿莱夫在草原上盖了一栋房子, 犹如大海上的灯塔。 但你无法...

  • 与雪与丘与故土

  • 与海与浪与念

    木君 下午,在一段段风雨的催促下来到了绥中。天是被蒙起来的,太阳早已不知躲到哪里去了。微弱的日光和着轻柔的海风洒在...

  • 晚风与柳 孤独与狗 桥与落叶 马与白隙 云与苍天 梭与星月 天与地 生与死 树与来路 花与过往 我与你 爱与恨 夜色与酒

  • 海街日记

    和解。与他人和解、与家人和解、与自己和解;与得到和解、与失去和解;与过去和解、与现在、未来和解;与现实和解、与虚幻...

  • 生怕忘了的题目

    少与不少 多与不多 苦与不苦 乐与不乐 对与不对 错与不错 离与不离 合与不合 唱与不唱 说与不说

  • 2017-04-11

    体验入:真诚.与专业。幽默与风趣。赞美与了解。认可与相信。沟通与关注。关心与引领。快乐与持续。简单与重复。 ...

网友评论

    本文标题:LINUX_VERSION_CODE与KERNEL_VERSIO

    本文链接:https://www.haomeiwen.com/subject/dtykwttx.html