[发明专利]一种适配硬件架构的编译方法及装置有效
申请号: | 201610217448.8 | 申请日: | 2016-04-08 |
公开(公告)号: | CN107273176B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 赵文恒 | 申请(专利权)人: | 上海思立微电子科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张振军;吴敏 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 硬件 架构 编译 方法 装置 | ||
一种适配硬件架构的编译方法及装置,所述方法包括:读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。上述方案可提高编译效率和编译体系维护效率。
技术领域
本发明涉及计算机技术领域,特别是涉及一种适配硬件架构的编译方法及装置。
背景技术
一个大的计算机硬件体系架构,如手机,可能是64位的,也可能是32位的,也可能既是64位又32位的,而现在手机正趋向于既有64位处理器,又有32位处理器,这样的计算机既可以运行64位的程序也可以运行32位的程序,由此带来了软件编程的困扰,比如平台软件既要支持64位的应用,也要支持32位的应用,也可以指定支持其中一种,又如一个应用既可以按照编程人员的意愿编译成64位或者32位,或者两者都编。那么就对编译体系支持多处理器架构编译,以及同时支持多种处理器位数提出了要求。
然而,现有实现适配计算机硬件架构的编译方法中,特别是实现多架构处理器编译兼容的解决方案中,存在编译方法的效率较低,编译体系的维护较为复杂的问题。
发明内容
本发明解决的技术问题是提高编译的效率和维护编译系统的效率。
为解决上述技术问题,本发明实施例提供一种适配硬件架构的编译方法,所述方法包括:
读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;
根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;
解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;
运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。
可选地,所述控制信息用于指示所述目标代码文件所适配的处理器位数与目标处理器架构。
可选地,所述输出所述当前模块的目标代码文件包括:
读取所述当前模块的输出环境配置文件,所述输出环境配置文件适于定义所述目标代码文件的目录结构;
基于所述控制信息确定组合参数名称,其中,所述控制信息作为所述组合参数名称的部分字段;
根据确定后的所述组合参数名称从所述目标代码的目录结构中找到所述目标代码文件的输出位置。
可选地,当根据所述控制信息将所述当前模块的至少一部分源文件进行编译时,通过以下方式输出临时文件:
当输出临时文件时,根据所述控制信息得到修饰参数值,所述修饰参数值为所述目标运行设备的目标处理器架构的处理器位数值;
基于所述修饰参数值得到与处理器位数值对应的临时文件目录名称;
根据所述临时文件目录名称找到所述临时文件的输出位置。
可选地,所述默认配置文件中设置有回调操作接口,所述对所述默认配置文件中的输入配置的至少一部分进行覆写,包括:通过所述回调操作接口执行回调操作以进行所述覆写。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海思立微电子科技有限公司,未经上海思立微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610217448.8/2.html,转载请声明来源钻瓜专利网。