一种适配硬件架构的编译方法及装置制造方法及图纸

技术编号:16427618 阅读:25 留言:0更新日期:2017-10-21 22:06
一种适配硬件架构的编译方法及装置,所述方法包括:读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。上述方案可提高编译效率和编译体系维护效率。

Method and device for compiling adaptive hardware architecture

Compilation method and device adapter hardware architecture, the method comprises the following steps: read the default configuration file, the default input configuration file records compilation process; according to at least a portion of the default input configuration of the current module. The current configuration of the input file for the default configuration file to overwrite in order to get, overwrite the configuration file, containing the target processor architecture equipment running information of the overwrite the configuration file in the processor architecture; analysis of relevant information, to compile the adaptation to the target operating equipment processor architecture, control information and the target operation of equipment the processor architecture to adapt to the current operation; the script compiler module, compiled according to at least a portion of the source file for the control information of the current module To output the target code file of the current module. These schemes can improve the efficiency of compiling and the efficiency of compiling system maintenance.

【技术实现步骤摘要】
一种适配硬件架构的编译方法及装置
本专利技术涉及计算机
,特别是涉及一种适配硬件架构的编译方法及装置。
技术介绍
一个大的计算机硬件体系架构,如手机,可能是64位的,也可能是32位的,也可能既是64位又32位的,而现在手机正趋向于既有64位处理器,又有32位处理器,这样的计算机既可以运行64位的程序也可以运行32位的程序,由此带来了软件编程的困扰,比如平台软件既要支持64位的应用,也要支持32位的应用,也可以指定支持其中一种,又如一个应用既可以按照编程人员的意愿编译成64位或者32位,或者两者都编。那么就对编译体系支持多处理器架构编译,以及同时支持多种处理器位数提出了要求。然而,现有实现适配计算机硬件架构的编译方法中,特别是实现多架构处理器编译兼容的解决方案中,存在编译方法的效率较低,编译体系的维护较为复杂的问题。
技术实现思路
本专利技术解决的技术问题是提高编译的效率和维护编译系统的效率。为解决上述技术问题,本专利技术实施例提供一种适配硬件架构的编译方法,所述方法包括:读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。可选地,所述控制信息用于指示所述目标代码文件所适配的处理器位数与目标处理器架构。可选地,所述输出所述当前模块的目标代码文件包括:读取所述当前模块的输出环境配置文件,所述输出环境配置文件适于定义所述目标代码文件的目录结构;基于所述控制信息确定组合参数名称,其中,所述控制信息作为所述组合参数名称的部分字段;根据确定后的所述组合参数名称从所述目标代码的目录结构中找到所述目标代码文件的输出位置。可选地,当根据所述控制信息将所述当前模块的至少一部分源文件进行编译时,通过以下方式输出临时文件:当输出临时文件时,根据所述控制信息得到修饰参数值,所述修饰参数值为所述目标运行设备的目标处理器架构的处理器位数值;基于所述修饰参数值得到与处理器位数值对应的临时文件目录名称;根据所述临时文件目录名称找到所述临时文件的输出位置。可选地,所述默认配置文件中设置有回调操作接口,所述对所述默认配置文件中的输入配置的至少一部分进行覆写,包括:通过所述回调操作接口执行回调操作以进行所述覆写。可选地,所述默认配置文件中未被覆写的部分被继承并保留于所述覆写后的配置文件中。可选地,采用如下方式确定被编译的源代码:基于所述控制信息得到所述源文件的名称中的源文件名参数,进而确定所述源文件的名称,其中,所述源文件名参数适于区分不同的处理器位数和处理器架构对应的编译源文件;根据所述编译源文件的名称确定被编译的源代码。本专利技术实施例还提供一种适配硬件架构的编译装置,所述装置包括:读取单元,适于读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;覆写单元,适于根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;解析单元,适于解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;编译单元,适于运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。可选地,所述控制信息用于指示所述目标代码文件所适配的处理器位数与目标处理器架构。可选地,所述编译单元包括:输出环境配置读取子单元,适于读取所述当前模块的输出环境配置文件,所述输出环境配置文件适于定义所述目标代码文件的目录结构;组合参数名确定子单元,适于基于所述控制信息确定组合参数名称,其中,所述控制信息作为所述组合参数名称的部分字段;目标代码输出位置查找子单元,适于根据确定后的所述组合参数名称从所述目标代码的目录结构中找到所述目标代码文件的输出位置。可选地,所述适配硬件架构的编译装置还包括:修饰参数值确定子单元,适于根据所述控制信息得到修饰参数值,所述修饰参数值为所述目标运行设备的目标处理器架构的处理器位数值;临时文件目录名确定子单元,适于基于所述修饰参数值得到与处理器位数值对应的临时文件目录名称;临时文件输出位置查找子单元,适于根据所述临时文件目录名称找到所述临时文件的输出位置。可选地,所述默认配置文件中设置有回调操作接口,所述覆写单元适于通过所述回调操作接口执行回调操作以进行所述覆写。可选地,所述默认配置文件中未被覆写的部分被继承并保留于所述覆写后的配置文件中。可选地,所述编译单元包括适于确定被编译的源代码的源代码确定子单元,所述源代码确定子单元包括:源文件名确定模块,适于基于所述控制信息得到所述源文件的名称中的源文件名参数,进而确定所述源文件的名称,其中,所述源文件名参数适于区分不同的处理器位数和处理器架构对应的编译源文件;编译源确定模块,适于根据所述编译源文件的名称确定被编译的源代码。与现有技术相比,本专利技术实施例的技术方案具有以下有益效果:本专利技术实施例的技术方案通过读取经过覆写后当前模块的输入配置文件,获取处理器架构相关信息,解析所述处理器架构相关信息以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适配的控制信息,从而可以根据所述控制信息判断出编译的目标运行设备的处理器架构是哪一个并且处理器架构的具体位数,进而可以进行相应适配的编译,由于控制信息指示了编译的目标运行设备的处理器特性,在编译动作相同时,可以复用一套与编译动作相关的编译脚本来编译成相适应的目标文件,不再需要针对不同的目标运行设备的处理器架构均分别做一套编译脚本,进而使工程师不再需要处理和维护不同的编译规则,从而可以提高维护编译系统的效率。与此同时,通过对所述默认配置文件的输入配置信息进行了覆写,工程师只需根据目标运行设备的处理器架构特性在所述当前配置输入文件中进行特定化的设置,而不再单独对不同处理器架构特性之间除各自特有配置以外的其他共同配置信息重复进行配置,从而可以提高编译的效率。进一步地,本专利技术实施例通过利用组合变量的技术,具体而言,预先将目标代码的目录名称定义为与不同的处理器架构相适应,当解析出控制信息时,根据所述控制信息确定当前的目标代码文件对应的目录名称,从而查找到对应的目标代码文件的存放位置,实现根据处理器架构的不同区分不同的目标文件存放位置。进一步地,本专利技术实施例通过预先定义临时文件输出目录的名称,而不同处理器位数下输出的临时文件目录名称有所区分,通过建立不同的控制信息与不同的临时文件目录名称的对应关系,从而可以根据控制信息确定临时文件目录名称,进而找到临时文件的输出位置,实现了不同处理器位数所相适应的临时输出目录区分,在对应的目录输出正确的临时文件。附图说明图1是本专利技术实施本文档来自技高网...
一种适配硬件架构的编译方法及装置

【技术保护点】
一种适配硬件架构的编译方法,其特征在于,包括:读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。

【技术特征摘要】
1.一种适配硬件架构的编译方法,其特征在于,包括:读取默认配置文件,所述默认配置文件记录编译过程中的默认输入配置;根据当前模块目录下的当前配置输入文件对所述默认配置文件中的默认输入配置的至少一部分进行覆写,以得到覆写后的配置文件,所述覆写后的配置文件中包含目标运行设备的处理器架构相关信息;解析所述处理器架构相关信息,以将编译适配到所述目标运行设备的处理器架构,并得到与所述目标运行设备的处理器架构相适应的控制信息;运行所述当前模块的编译脚本,根据所述控制信息将所述当前模块的至少一部分源文件进行编译,以输出所述当前模块的目标代码文件。2.根据权利要求1所述的适配硬件架构的编译方法,其特征在于,所述控制信息用于指示所述目标代码文件所适配的处理器位数与目标处理器架构。3.根据权利要求1所述的适配硬件架构的编译方法,其特征在于,所述输出所述当前模块的目标代码文件包括:读取所述当前模块的输出环境配置文件,所述输出环境配置文件适于定义所述目标代码文件的目录结构;基于所述控制信息确定组合参数名称,其中,所述控制信息作为所述组合参数名称的部分字段;根据确定后的所述组合参数名称从所述目标代码的目录结构中找到所述目标代码文件的输出位置。4.根据权利要求1所述的适配硬件架构的编译方法,其特征在于,当根据所述控制信息将所述当前模块的至少一部分源文件进行编译时,通过以下方式输出临时文件:根据所述控制信息得到修饰参数值,所述修饰参数值为所述目标运行设备的目标处理器架构的处理器位数值;基于所述修饰参数值得到与处理器位数值对应的临时文件目录名称;根据所述临时文件目录名称找到所述临时文件的输出位置。5.根据权利要求1所述的适配硬件架构的编译方法,其特征在于,所述默认配置文件中设置有回调操作接口,所述对所述默认配置文件中的输入配置的至少一部分进行覆写,包括:通过所述回调操作接口执行回调操作以进行所述覆写。6.根据权利要求1所述的适配硬件架构的编译方法,其特征在于,所述默认配置文件中未被覆写的部分被继承并保留于所述覆写后的配置文件中。7.根据权利要求1所述的适配硬件架构的编译方法,其特征在于,采用如下方式确定被编译的源代码:基于所述控制信息得到所述源文件的名称中的源文件名参数,进而确定所述源文件的名称,其中,所述源文件名参数适于区分不同的处理器位数和处理器架构对应的编译源文件;根据所述编译源文件的名称确定被编译的源代码。8.一种适配硬件架构的编译装置,其特征在于,包括:读取单元,适于读取默认配置文件,所述默认配置文件记录...

【专利技术属性】
技术研发人员:赵文恒
申请(专利权)人:上海思立微电子科技有限公司
类型:发明
国别省市:上海,31

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

1