Chinaunix首页 | 论坛 | 博客
  • 博客访问: 800780
  • 博文数量: 247
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 501
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-12 21:53
个人简介

系统未建立

文章分类

全部博文(247)

文章存档

2021年(1)

2020年(3)

2019年(5)

2018年(3)

2017年(44)

2016年(75)

2015年(52)

2014年(63)

2013年(1)

我的朋友

分类: LINUX

2016-09-27 10:44:56

最近遇到1个文件,用户态app需要读取/proc/meminfo获取内存相关信息,但发现该文件在3.14内核版本发生了变化,增加了1条MemAvailable。
由于原始app写的不好,导致解析文件错误。

解决该文件想到的首个办法,是通过内核版本号做区分,直接包含linux/version.h,但发现取出来的版本号与内核版本号对不上。
网上搜了了下,相对可靠的方法是读/proc/version解析处理,但感觉太土了。

想着要找出用户态获取linux内核版本号为啥不对?结果在引用的工具链头文件中找到了,原因是该工具链与内核不配套,虽然也能工作。

一般来讲,sdk提供商会提供相应内核版本的编译工具链,其工具链与内核版本是对应的。

最终用户态app重写了,更通用,逐行解析。但这个过程确认了,用户态app是可以通过LINUX_KERNEL_CODE获取当前版本号的。
阅读(866) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~