代码编译的方法和装置制造方法及图纸

技术编号:13609316 阅读:42 留言:0更新日期:2016-08-29 02:33
本发明专利技术涉及电子设备技术领域,公开了代码编译的方法和装置,该方法包括:对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息;根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同,所述开发所用编译环境的描述信息与待编译代码相关联;当当前编译环境与开发所用编译环境相同时,在当前编译环境中对待编译代码进行编译。本发明专利技术能够保障实际编译时的编译环境与开发所用编译环境相同,进而保证实际编译出的程序能够正常运行,保证实际运行的程序与设计开发的程序两者在功能上一致。

【技术实现步骤摘要】

本专利技术涉及电子设备
,具体地,涉及一种代码编译的方法和装置
技术介绍
代码开发按时间先后顺序可以分为三个阶段:1、编码阶段,2、编译阶段,3、运行阶段。编码阶段主要是使用程序设计语言,根据特定的文法利用程序设计语言来编码。编译阶段则是将编码阶段所编码的代码从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。编译产生的目标代码在具体的平台上运行被称为运行阶段。在编码阶段,使用程序设计语言,以及编译器所提供的库函数来创建代码,生成源程序。在编译阶段使用源程序和编译器,产生目标程序。在运行阶段使用目标程序和运行平台,通过运行目标程序获得运行结果。上述编码阶段以及编译阶段需要在某一特定的编译环境内进行,该编译环境可提供程序运行的库。以安卓手机为例,编译环境提供方(例如,高通、谷歌等)会提供编译环境安装说明,该说明内会指明编译环境中需要的软件工具以及软件工具对应的版本。目前,主要通过自动运行运维脚本来安装编译环境。然而,不同机器之间的编译环境可能会因为使用者的操作(例如,使用者可能将部分软件工具进行了版本升级)而导致不同。如此,使得编码阶段的开发所用编译环境与实际的编译阶段所用的编译环境之间经常会存在差异,进而导致代码开发中编译出来的程序与实际运行中所用程序间存在区别(例如,运行功能上的差
异)。从而,可能导致编码阶段所编码出的程序在其开发环境上测试可用,但在实际使用中会出现运行故障。
技术实现思路
本专利技术的目的是提供一种代码编译的方法,该方法包括:对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息;根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同,所述开发所用编译环境的描述信息与待编译代码相关联;当当前编译环境与开发所用编译环境相同时,在当前编译环境中对待编译代码进行编译。优选地,该方法还包括:当当前编译环境与开发所用编译环境不相同时,根据开发所用编译环境的描述信息对当前编译环境进行变更,以使得变更后的当前编译环境与开发所用编译环境相同;在变更完成后,在变更后的当前编译环境中编译待编译代码。优选地,所述当当前编译环境与开发所用编译环境不相同时,根据开发所用编译环境的描述信息对当前编译环境进行变更包括:当当前编译环境与开发所用编译环境不相同时,输出选择是否进行当前编译环境变更的提示信息;在接收到确定当前编译环境变更的输入信息后,根据开发所用编译环境的描述信息对当前编译环境进行变更。优选地,所述对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息包括:根据软件工具在所述开发所用编译环境的描述信息中的记录顺序在当前编译环境中进行检测,逐个确定软件工具在当前编译环境中所对应的版本信息,并按检测顺序将确定的版本信息记录到当前编译环境的描述信息中。优选地,所述根据当前编译环境的描述信息和开发所用编译环境的描述
信息判断当前编译环境与开发所用编译环境是否相同包括:将当前编译环境的描述信息中的软件工具的版本信息与开发所用编译环境的描述信息中的软件工具的版本信息相比较,判断是否相同;如果相同,则判定当前编译环境与开发所用编译环境相同;否则,判定当前编译环境与开发所用编译环境不同。优选地,所述根据开发所用编译环境的描述信息对当前编译环境进行变更包括:将当前编译环境中软件工具的版本与开发所用编译环境的软件工具的版本进行比较;当当前编译环境中软件工具的版本低于开发所用编译环境的软件工具的版本时,将当前编译环境中软件工具的版本升级到开发所用编译环境的软件工具的版本;当当前编译环境中软件工具的版本高于开发所用编译环境的软件工具的版本时,将当前编译环境中软件工具的版本回滚到开发所用编译环境的软件工具的版本。根据本专利技术的一个方面,提供了一种代码编译的装置,该装置包括:检测模块,用于对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息;判断模块,用于根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同,所述开发所用编译环境的描述信息与待编译代码相关联;编译模块,用于当当前编译环境与开发所用编译环境相同时,在当前编译环境中对待编译代码进行编译。优选地,该装置还包括:变更模块,用于当当前编译环境与开发所用编译环境不相同时,根据开发所用编译环境的描述信息对当前编译环境进行变更,以使得变更后的当前编译环境与开发所用编译环境相同;所述编译模块还用于在变更完成后,在变更后的当前编译环境中编译待编译代码。优选地,所述变更模块用于当当前编译环境与开发所用编译环境不相同时,输出选择是否进行当前编译环境变更的提示信息;在接收到确定当前编译环境变更的输入信息后,根据开发所用编译环境的描述信息对当前编译环
境进行变更。优选地,所述检测模块用于根据软件工具在所述开发所用编译环境的描述信息中的记录顺序在当前编译环境中进行检测,逐个确定软件工具在当前编译环境中所对应的版本信息,并按检测顺序将确定的版本信息记录到当前编译环境的描述信息中。优选地,所述判断模块用于将当前编译环境的描述信息中的软件工具的版本信息与开发所用编译环境的描述信息中的软件工具的版本信息相比较,判断是否相同;如果相同,则判定当前编译环境与开发所用编译环境相同;否则,判定当前编译环境与开发所用编译环境不同。优选地,所述变更模块用于将当前编译环境中软件工具的版本与开发所用编译环境的软件工具的版本进行比较;当当前编译环境中软件工具的版本低于开发所用编译环境的软件工具的版本时,将当前编译环境中软件工具的版本升级到开发所用编译环境的软件工具的版本;当当前编译环境中软件工具的版本高于开发所用编译环境的软件工具的版本时,将当前编译环境中软件工具的版本回滚到开发所用编译环境的软件工具的版本。通过上述技术方案,对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息;获取与待编译代码相关联的开发所用编译环境的描述信息;根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同;当当前编译环境与开发所用编译环境相同时,在当前编译环境中对待编译代码进行编译。如此,能够保障实际编译时的编译环境与开发所用编译环境相同,进而保证实际编译出的程序能够正常运行,保证实际运行的程序与设计开发的程序两者在功能上一致。本专利技术的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是根据本专利技术一实施方式的代码编译的方法的流程图;图2是根据本专利技术一实施方式的在当前编译环境与开发所用编译环境不相同情况下进行代码编译的过程的流程图;图3是在应用场景下根据本专利技术一实施方式的代码编译的方法的流程图;图4是根据本专利技术一实施方式的代码编译的装置的结构图;以及图5是根据本专利技术一实施方式的代码编译的装置的结构图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。本文档来自技高网
...

【技术保护点】
一种代码编译的方法,该方法包括:对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息;根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同,所述开发所用编译环境的描述信息与待编译代码相关联;当当前编译环境与开发所用编译环境相同时,在当前编译环境中对待编译代码进行编译。

【技术特征摘要】
1.一种代码编译的方法,该方法包括:对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息;根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同,所述开发所用编译环境的描述信息与待编译代码相关联;当当前编译环境与开发所用编译环境相同时,在当前编译环境中对待编译代码进行编译。2.根据权利要求1所述的方法,其特征在于,该方法还包括:当当前编译环境与开发所用编译环境不相同时,根据开发所用编译环境的描述信息对当前编译环境进行变更,以使得变更后的当前编译环境与开发所用编译环境相同;在变更完成后,在变更后的当前编译环境中编译待编译代码。3.根据权利要求2所述的方法,其特征在于,所述当当前编译环境与开发所用编译环境不相同时,根据开发所用编译环境的描述信息对当前编译环境进行变更包括:当当前编译环境与开发所用编译环境不相同时,输出选择是否进行当前编译环境变更的提示信息;在接收到确定当前编译环境变更的输入信息后,根据开发所用编译环境的描述信息对当前编译环境进行变更。4.根据权利要求1所述的方法,其特征在于,所述对待编译代码的当前编译环境进行检测,获得当前编译环境的描述信息包括:根据软件工具在所述开发所用编译环境的描述信息中的记录顺序在当
\t前编译环境中进行检测,逐个确定软件工具在当前编译环境中所对应的版本信息,并按检测顺序将确定的版本信息记录到当前编译环境的描述信息中。5.根据权利要求1所述的方法,其特征在于,所述根据当前编译环境的描述信息和开发所用编译环境的描述信息判断当前编译环境与开发所用编译环境是否相同包括:将当前编译环境的描述信息中的软件工具的版本信息与开发所用编译环境的描述信息中的软件工具的版本信息相比较,判断是否相同;如果相同,则判定当前编译环境与开发所用编译环境相同;否则,判定当前编译环境与开发所用编译环境不同。6.根据权利要求2所述的方法,其特征在于,所述根据开发所用编译环境的描述信息对当前编译环境进行变更包括:将当前编译环境中软件工具的版本与开发所用编译环境的软件工具的版本进行比较;当当前编译环境中软件工具的版本低于开发所用编译环境的软件工具的版本时,将当前编译环境中软件工具的版本升级到开发所用编译环境的软件工具的版本;当当前编译环境中软件工具的版本高于开发所...

【专利技术属性】
技术研发人员:罗汉彬
申请(专利权)人:乐视控股北京有限公司乐视致新电子科技天津有限公司
类型:发明
国别省市:北京;11

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

1