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

文档序号:8942898阅读:177来源:国知局
一种linux保存应用程序编译信息的方法
【技术领域】
[0001] 本发明涉及Iinux技术领域,尤其涉及一种Iinux保存应用程序编译信息的方法。
【背景技术】
[0002] 嵌入式Linux软件开发过程中,应用程序及可加载内核模块以文件形式保存到文 件系统,因此在开发及软件发布时,我们可以只替换某个应用程序或者内核模块,甚至是库 文件等达到升级软件目的。在多次升级过程中,因编译时间的不一致,各应用软件版本也 不同,导致我们很多时候不了解程序是何时编译,编译时的软件版本为多少,由谁编译等信 息,从而影响开发调试。

【发明内容】

[0003] 本发明需解决的技术问题是克服上述的不足,提供一种Iinux保存应用程序编译 信息的方法,包括:
[0004] Linux内核启动时,初始化数组,仓Il建一个proc虚拟文件并注册读、写操作函数;
[0005] 应用程序启动时,打开proc文件,将编译信息写入proc文件;
[0006] 通过命令读取所述proc文件,即可查看应用程序编译信息。
[0007] 进一步的,所述编译信息包括程序名、编译日期、编译时间、编译人以及Svn版本。
[0008] 进一步的,所述编译信息在proc内以结构体保存,结构体条目格式如下:
[0009]
[0010] 进一步的,所述数组每组信息表示一个应用程序编译信息,其中模块号作为数组 下标,η可根据需求在编译内核信息时任意设定。
[0011] 进一步的,所述内核写操作函数包括:
[0012] 当编译信息写入proc文件后,判断编译信息的模块号是否在区间范围;
[0013] 若模块号在区间范围,则判断编译信息的校验模数是否正确,若模块号不在区间 范围,则结束;
[0014] 若检验模数正确,将编译信息按模块号填入对应数组,数组下标为模块号,若校验 模数不正确,则结束。
[0015] 进一步的,所述内核读操作函数包括:
[0016] 遍历内核数组,逐个判断校验模数是否正确,若正确,则打印对应数组的数据,即 应用程序编译信息。
[0017] 采用本发明技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令 直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开 发调试的问题。
【附图说明】
[0018] 图1是本发明提供的Iinux保存应用程序编译信息的方法示意图;
[0019] 图2是本发明提供的内核写操作函数的流程示意图;
[0020] 图3是本发明提供的内核读操作函数的流程示意图。
【具体实施方式】
[0021 ] 为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实 施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实 施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
[0022] 下面结合附图和实施方式对本发明作进一步说明。
[0023] 参阅图1,本发明提供的一种Iinux保存应用程序编译信息的方法,包括下列步 骤:
[0024] 步骤S100, Linux内核启动时,初始化数组,创建一个proc虚拟文件并注册读、写 操作函数;
[0025] 内核数组如下所示:
[0026]
[0027] 数组每组信息表示一个应用程序编译信息,其中模块号作为数组下标,η可根据需 求在编译内核信息时任意设定。例如,组(〇)表示模块号为〇的应用程序编译信息。
[0028] 步骤S200,应用程序启动时,打开proc文件,将编译信息写入proc文件;
[0029] 编译信息包括程序名、编译日期、编译时间、编译人以及Svn版本,编译信息在 proc内以结构体保存,结构体条目格式如下:
[0031] 步骤S300,通过命令读取所述proc文件,即可查看应用程序编译信息。
[0032] 如图2所示,当应用程序编译信息写入proc后,就应当进行内核写操作函数,将结 构体格式的编译信息写入内核数组。具体如下:
[0033] 当编译信息写入proc文件后,判断编译信息的模块号是否在区间范围;
[0034] 若模块号在区间范围,则判断编译信息的校验模数是否正确,若模块号不在区间 范围,则结束;
[0035] 若检验模数正确,将编译信息按模块号填入对应数组,数组下标为模块号,若校验 模数不正确,则结束。
[0036] 由此,应用程序编译信息就存储于内核数组中了,用户可方便的读取内核数组中 的数据,即编译信息。
[0037] 如图3所示,用户想了解编译信息,则用命令触发内核读操作函数,具体如下:
[0038] 遍历内核数组,逐个判断校验模数是否正确,若正确,则打印对应数组的数据,即 应用程序编译信息。
[0039] 采用本发明技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令 直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开 发调试的问题。
[0040] 以上仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而 理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱 离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因 此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
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保存应用程序编译信息的方法,Linux内核启动时,初始化数组,创建一个proc虚拟文件并注册读、写操作函数;应用程序启动时,打开proc文件,将编译信息写入proc文件;通过命令读取所述proc文件,即可查看应用程序编译信息。采用本发明技术方案后,将应用程序编译信息存放于虚拟proc文件中,通过命令直接查看所述proc文件,从而了解编译信息内容,解决了因应用程序编译信息问题影响开发调试的问题。
【IPC分类】G06F17/30, G06F9/45
【公开号】CN105159739
【申请号】CN201510523899
【发明人】王东华
【申请人】上海斐讯数据通信技术有限公司
【公开日】2015年12月16日
【申请日】2015年8月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1