[发明专利]一种可追溯目标码的生成方法及可追溯目标码生成器有效
申请号: | 201410594660.7 | 申请日: | 2014-10-29 |
公开(公告)号: | CN104331665B | 公开(公告)日: | 2017-08-08 |
发明(设计)人: | 孙绍伟;李明 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 追溯 目标 生成 方法 生成器 | ||
技术领域
本发明涉及计算机编译领域,特别是涉及一种可追溯目标码的生成方法及可追溯目标码生成器。
背景技术
随着计算机技术的发展,越来越多的工作能够由计算机完成。人与计算机的交互需要通过计算机能够识别的语言完成。在实现特定功能时,工程师需要编写特定的语言,供计算机识别。但这些语言有高级语言,有低级语言。计算机只能识别最低级的语言。因此,要实现计算机识别语言,需要将高级的语言一步步变成低级的计算机能够直接识别的语言,这个过程,通常表现为将源代码转换为目标码。
源代码转化的目标码出错后,需要寻找到其对应的源代码的信息,以及源代码转化为目标码时的转化环境,以便有针对性地改正出错的部分,使其功能正常实现。
但是目前的目标码不含有源代码版本信息和转换环境,在出问题时就无法向源代码进行追溯,导致修复目标码时效率降低。
发明内容
本发明的目的是提供一种可追溯目标码的生成方法及可追溯目标码生成器,实现目标码向源代码的可追溯性,提高修复目标码的效率。
一种可追溯目标码的生成方法,包括:
获取编译环境信息;
获取源码版本信息;
解析所述编译环境信息和所述源码版本信息,形成预编译信息;
将所述预编译信息写入目标码。
优选地,所述获取编译环境信息包括:
提取环境变量;
获取所述环境变量包含的编译环境信息。
优选地,所述源码获取源码版本信息包括:
提取版本信息变量;
获取所述版本信息变量包含的所述源码版本信息。
优选地,所述解析所述编译环境信息和所述源码版本信息,形成预编译信息包括:
将所述环境变量和所述版本信息变量写入预编译文件;
对述预编译文件解析,形成含有所述编译环境信息和所述源码版本信息的预编译信息。
优选地,所述将所述预编译信息写入目标码,包括:
通过链接参数链接所述预编译信息和所述目标码。
一种可追溯目标码生成器,包括:
环境信息获取模块,用于获取编译环境信息;
版本信息获取模块,用于获取源码版本信息;
与所述环境信息获取模块和所述版本信息获取模块相连的预编译模块,用于解析所述编译环境信息和所述源码版本信息,形成预编译信息;
与所述预编译模块相连的写入模块,用于将所述预编译信息写入目标码。
优选地,所述环境信息获取模块包括:
第一提取单元,用于提取环境变量;
与所述第一提取单元相连的环境信息获取单元,用于获取所述环境变量包含的所述编译环境信息。
优选地,所述版本信息获取模块包括:
第二提取单元,用于提取版本信息变量;
与所述第二提取单元相连的版本信息获取单元,用于获取所述版本信息变量包含的所述源码版本信息。
优选地,所述预编译模块包括:
预编译信息写入单元,用于将所述环境变量和所述版本信息变量写入预编译文件;
与所述预编译信息写入单元相连的解析单元,用于对述预编译文件解析,形成含有所述编译环境信息和所述源码版本信息的预编译信息。
优选地,所述写入模块包括:
链接参数单元,用于链接所述预编译信息和所述目标码。
因此,本发明具有如下有益效果:
本发明在生成目标码的过程中,提取原始编译脚本的版本信息和编译环境信息,通过预编译的方式将版本信息和编译环境信息植入目标码。因此当目标码运行过程中出现问题时,能够方便从目标码中定位编译过程中源码的版本信息并确定目标码编译时的编译环境信息。提高了修复目标码的工作效率。
附图说明
图1为本发明提供的一种可追溯目标码的生成方法流程图;
图2为本发明提供的另一种可追溯目标码的生成方法流程图;
图3为本发明提供的一种可追溯目标码的生成器结构示意图;
图4为本发明提供的可追溯目标码的生成器中一种具体的环境信息获取模块结构示意图;
图5为本发明提供的可追溯目标码的生成器中一种具体的版本信息获取模块结构示意图;
图6为本发明提供的可追溯目标码的生成器中一种具体的预编译模块结构示意图;
图7为本发明提供的可追溯目标码的生成器中一种具体的写入模块结构示意图;
图8为本发明提供的另一种可追溯目标码的生成器结构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410594660.7/2.html,转载请声明来源钻瓜专利网。