一种linux保存应用程序编译信息的方法技术

技术编号:12520634 阅读:74 留言:0更新日期:2015-12-17 11:24
本发明专利技术提供了一种linux保存应用程序编译信息的方法,Linux内核启动时,初始化数组,创建一个proc虚拟文件并注册读、写操作函数;应用程序启动时,打开proc文件,将编译信息写入proc文件;通过命令读取所述proc文件,即可查看应用程序编译信息。采用本发明专利技术技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开发调试的问题。

【技术实现步骤摘要】

本专利技术涉及Iinux
,尤其涉及一种Iinux保存应用程序编译信息的方法。
技术介绍
嵌入式Linux软件开发过程中,应用程序及可加载内核模块以文件形式保存到文 件系统,因此在开发及软件发布时,我们可以只替换某个应用程序或者内核模块,甚至是库 文件等达到升级软件目的。在多次升级过程中,因编译时间的不一致,各应用软件版本也 不同,导致我们很多时候不了解程序是何时编译,编译时的软件版本为多少,由谁编译等信 息,从而影响开发调试。
技术实现思路
本专利技术需解决的技术问题是克服上述的不足,提供一种Iinux保存应用程序编译 信息的方法,包括: Linux内核启动时,初始化数组,仓Il建一个proc虚拟文件并注册读、写操作函数; 应用程序启动时,打开proc文件,将编译信息写入proc文件; 通过命令读取所述proc文件,即可查看应用程序编译信息。 进一步的,所述编译信息包括程序名、编译日期、编译时间、编译人以及Svn版本。 进一步的,所述编译信息在proc内以结构体保存,结构体条目格式如下: 进一步的,所述数组每组信息表示一个应用程序编译信息,其中模块号作为数组 下标,η可根据需求在编译内核信息时任意设定。 进一步的,所述内核写操作函数包括: 当编译信息写入proc文件后,判断编译信息的模块号是否在区间范围; 若模块号在区间范围,则判断编译信息的校验模数是否正确,若模块号不在区间 范围,则结束; 若检验模数正确,将编译信息按模块号填入对应数组,数组下标为模块号,若校验 模数不正确,则结束。 进一步的,所述内核读操作函数包括: 遍历内核数组,逐个判断校验模数是否正确,若正确,则打印对应数组的数据,即 应用程序编译信息。 采用本专利技术技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令 直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开 发调试的问题。【附图说明】 图1是本专利技术提供的Iinux保存应用程序编译信息的方法示意图; 图2是本专利技术提供的内核写操作函数的流程示意图; 图3是本专利技术提供的内核读操作函数的流程示意图。【具体实施方式】 为了使本领域相关技术人员更好地理解本专利技术的技术方案,下面将结合本专利技术实 施方式的附图,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实 施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。 下面结合附图和实施方式对本专利技术作进一步说明。 参阅图1,本专利技术提供的一种Iinux保存应用程序编译信息的方法,包括下列步 骤: 步骤S100, Linux内核启动时,初始化数组,创建一个proc虚拟文件并注册读、写 操作函数; 内核数组如下所示: 数组每组信息表示一个应用程序编译信息,其中模块号作为数组下标,η可根据需 求在编译内核信息时任意设定。例如,组(〇)表示模块号为〇的应用程序编译信息。 步骤S200,应用程序启动时,打开proc文件,将编译信息写入proc文件; 编译信息包括程序名、编译日期、编译时间、编译人以及Svn版本,编译信息在 proc内以结构体保存,结构体条目格式如下: 步骤S300,通过命令读取所述proc文件,即可查看应用程序编译信息。 如图2所示,当应用程序编译信息写入proc后,就应当进行内核写操作函数,将结 构体格式的编译信息写入内核数组。具体如下: 当编译信息写入proc文件后,判断编译信息的模块号是否在区间范围; 若模块号在区间范围,则判断编译信息的校验模数是否正确,若模块号不在区间 范围,则结束; 若检验模数正确,将编译信息按模块号填入对应数组,数组下标为模块号,若校验 模数不正确,则结束。 由此,应用程序编译信息就存储于内核数组中了,用户可方便的读取内核数组中 的数据,即编译信息。 如图3所示,用户想了解编译信息,则用命令触发内核读操作函数,具体如下: 遍历内核数组,逐个判断校验模数是否正确,若正确,则打印对应数组的数据,即 应用程序编译信息。 采用本专利技术技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令 直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开 发调试的问题。 以上仅表达了本专利技术的几种实施方式,其描述较为具体和详细,但并不能因此而 理解为对本专利技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱 离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。因 此,本专利技术专利的保护范围应以所附权利要求为准。【主权项】1. 一种Iinux保存应用程序编译信息的方法,其特征在于,包括: Linux内核启动时,初始化数组,仓Il建一个proc虚拟文件并注册读、写操作函数; 应用程序启动时,打开proc文件,将编译信息写入proc文件; 通过命令读取所述proc文件,即可查看应用程序编译信息。2. 根据权利要求1所述的Iinux保存应用程序编译信息的方法,其特征在于,所述编译 信息包括程序名、编译日期、编译时间、编译人以及Svn版本。3. 根据权利要求1所述的Iinux保存应用程序编译信息的方法,其特征在于,所述编译 信息在proc内以结构体保存,结构体条目格式如下:4. 根据权利要求3所述的Iinux保存应用程序编译信息的方法,其特征在于,所述数组 每组信息表示一个应用程序编译信息,其中模块号作为数组下标,η可根据需求在编译内核 信息时任意设定。5. 根据权利要求3所述的Iinux保存应用程序编译信息的方法,其特征在于,所述内核 写操作函数包括: 当编译信息写入proc文件后,判断编译信息的模块号是否在区间范围; 若模块号在区间范围,则判断编译信息的校验模数是否正确,若模块号不在区间范围, 则结束; 若检验模数正确,将编译信息按模块号填入对应数组,数组下标为模块号,若校验模数 不正确,则结束。6. 根据权利要求3所述的Iinux保存应用程序编译信息的方法,其特征在于,所述内核 读操作函数包括: 遍历内核数组,逐个判断校验模数是否正确,若正确,则打印对应数组的数据,即应用 程序编译信息。【专利摘要】本专利技术提供了,Linux内核启动时,初始化数组,创建一个proc虚拟文件并注册读、写操作函数;应用程序启动时,打开proc文件,将编译信息写入proc文件;通过命令读取所述proc文件,即可查看应用程序编译信息。采用本专利技术技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开发调试的问题。【IPC分类】G06F17/30, G06F9/45【公开号】CN105159739【申请号】CN201510523899【专利技术人】王东华 【申请人】上海斐讯数据通信技术有限公司【公开日】2015年12月16日【申请日】2015年8月24日本文档来自技高网...

【技术保护点】
一种linux保存应用程序编译信息的方法,其特征在于,包括:Linux内核启动时,初始化数组,创建一个proc虚拟文件并注册读、写操作函数;应用程序启动时,打开proc文件,将编译信息写入proc文件;通过命令读取所述proc文件,即可查看应用程序编译信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:王东华
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1