编译系统的编译方法、装置及终端设备制造方法及图纸

技术编号:17363461 阅读:46 留言:0更新日期:2018-02-28 13:22
本发明专利技术实施例提供了一种编译系统的编译方法、装置及终端设备,其中,编译系统的编译方法包括:通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;所述工具链容器与依赖库容器,执行当前编译系统的编译。本发明专利技术实施例提供的方法,使得通过IDE容器加载相匹配的工具链容器与依赖库容器,即可构建当前编译系统的不同编译需求的编译环境,不仅有效避免了通过设置环境变量及chroot的方式构建编译环境时,对操作系统环境的极度依赖,而且基于工具链容器与依赖库容器构建不同编译需求的编译环境,实现了编译环境的隔离,并有效解决了多工具链多分支编译效率低的问题。

Compilation methods, devices and terminal devices of a compiler system

The embodiment of the invention provides a compilation method, device and terminal equipment, a compiler system which includes the compilation method of compilation system: through the integrated development environment of IDE container, container loading tool chain is matched with the current compilation system compiled demand and dependence on the library container; the tool chain container and rely on the library container. The execution of the current compiler compiler system. The method provided by the embodiment of the invention, the tool chain container through matching the IDE container loading and rely on the library container, you can build different needs of the current compilation system compiler compiler environment, not only to avoid the construction of environment by setting the environment variables and chroot mode, rely heavily on the operating system environment, and based on the the tool chain container and container dependent libraries construct different needs of compiler compiler environment, to achieve the isolation of the compiler environment, and effectively solves the multi branch compiler tool chain low efficiency problem.

【技术实现步骤摘要】
编译系统的编译方法、装置及终端设备
本专利技术涉及计算机
,具体而言,本专利技术涉及一种编译系统的编译方法、装置及终端设备。
技术介绍
当前的操作系统一般由框架层和应用层组成,在框架层上面是用户应用。框架层服务以及用户应用通过集成了pdk(ProgrammerDevelopKit,程序员开发套件)环境的IDE(IntegratedDevelopmentEnvironment,集成开发环境)完成编译。在编译用户应用时,通过设置环境变量的方式构建编译环境,使得IDE能够找到部署在本地的工具链和依赖包;在编译框架层服务时,主要通过运行chroot(changerootdirectory,更改根目录)命令的方式构建部署在本地的工具链和依赖包;在启动IDE时,通过设置环境变量的方式来指定启动IDE所需的特定动态库的版本以及运行时可能加载的工具,例如emulator(仿真工具),gdb(调试工具)等工具。然而,通过设置环境变量及chroot的方式构建编译环境,使得编译系统极度依赖IDE所处操作系统环境,一方面,当IDE所处操作系统环境平台性能受限,会对编译速度造成极大程度的降低;另一方面,很容易对IDE系统环境造成破坏,且极难恢复;再一方面,极大程度的限制了启动IDE所需的操作系统环境,若在非特定操作系统环境下启动编译系统IDE,则可能造成无法成功设置本地环境变量以及启动加载失败的情况,例如,若将为linux环境提供的设置环境变量脚本和定制的QtCreator插件移到windows环境下,则IDE加载就会失败;最后,增加了为不同系统环境定制不同插件的成本。专利技术内容本专利技术的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:本专利技术的实施例根据一个方面,提供了一种编译系统的编译方法,包括:通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;基于所述工具链容器与所述依赖库容器,执行当前编译系统的编译。优选地,在所述通过IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器前,还包括:基于当前的操作系统,通过预设窗口系统协议与IDE容器内预存储的窗口协议建立连接,以启动所述IDE容器。优选地,所述通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器,包括:基于与IDE容器的编译需求对应的工具链类型和/或版本号,匹配对应的工具链容器;基于与IDE容器的编译需求对应的目标项目分支,匹配对应的依赖库容器;级联IDE容器与工具链容器并级联IDE容器与依赖库容器,以加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;其中,工具链容器的容器镜像中包括一种类型和/或版本号的工具链相关信息;依赖库容器的容器镜像中包括一种类型和/或版本号的依赖库相关信息。优选地,所述基于与IDE容器的编译需求对应的目标项目分支,匹配对应的依赖库容器,包括:基于与IDE容器的编译需求对应的在IDE容器中预存储的代码仓库的代码分支,匹配对应的依赖库容器。优选地,在所述级联IDE容器与工具链容器并级联IDE容器与依赖库容器之后,还包括:在IDE容器中保存IDE容器与工具链容器及IDE容器与依赖库容器之间的级联关系。优选地,基于所述工具链容器与所述依赖库容器,执行当前编译系统的编译,包括:通过预设容器级联方式,级联对应于同一编译需求的工具链容器与依赖库容器;根据级联后的工具链容器与依赖库容器,执行当前编译系统的编译。优选地,确定对应于同一编译需求的工具链容器与依赖库容器的方式,包括:通过预设IDE容器中的与各个编译需求对应的工具链容器与依赖库容器之间的映射关系来确定。本专利技术的实施例根据另一个方面,还提供了一种编译系统的编译装置,包括:加载模块,用于通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;编译模块,用于基于所述工具链容器与所述依赖库容器,执行当前编译系统的编译。优选地,所述装置还包括:连接模块;所述连接模块,用于基于当前的操作系统,通过预设窗口系统协议与IDE容器内预存储的窗口协议建立连接,以启动所述IDE容器。优选地,所述加载模块包括:第一匹配子模块、第二匹配子模块与第一级联子模块;第一匹配子模块,用于基于与IDE容器的编译需求对应的工具链类型和/或版本号,匹配对应的工具链容器;第二匹配子模块,用于基于与IDE容器的编译需求对应的目标项目分支,匹配对应的依赖库容器;第一级联子模块,用于级联IDE容器与工具链容器并级联IDE容器与依赖库容器,以加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;其中,工具链容器的容器镜像中包括一种类型和/或版本号的工具链相关信息;依赖库容器的容器镜像中包括一种类型和/或版本号的依赖库相关信息。优选地,所述第二匹配子模块具体用于基于与IDE容器的编译需求对应的在IDE容器中预存储的代码仓库的代码分支,匹配对应的依赖库容器。优选地,所述装置还包括:保存模块;所述保存模块,用于在IDE容器中保存IDE容器与工具链容器及IDE容器与依赖库容器之间的级联关系。优选地,所述编译模块包括:第二级联子模块与执行子模块;第二级联子模块,用于通过预设容器级联方式,级联对应于同一编译需求的工具链容器与依赖库容器;执行子模块,用于根据级联后的工具链容器与依赖库容器,执行当前编译系统的编译。优选地,所述编译模块还包括确定子模块;所述确定子模块,用于通过预设IDE容器中的与各个编译需求对应的工具链容器与依赖库容器之间的映射关系,来确定对应于同一编译需求的工具链容器与依赖库容器。本专利技术的实施例根据另一个方面,还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的编译系统的编译方法。本专利技术实施提供的编译系统的编译方法,通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器,使得终端设备通过IDE容器加载相匹配的工具链容器与依赖库容器,即可构建当前编译系统的不同编译需求的编译环境,不仅有效避免了通过设置环境变量及chroot的方式构建编译环境时,对操作系统环境极度依赖的问题,而且基于工具链容器与依赖库容器构建不同编译需求的编译环境,实现了编译环境的隔离,并有效解决了多工具链多分支编译效率低的问题;基于工具链容器与依赖库容器,执行当前编译系统的编译,从而基于为不同编译需求构建的编译环境进行快速、高效的编译,提高编译效率。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术第一实施例的编译系统的编译方法的流程示意图;图2为本专利技术第一实施例的同时构建两种编译需求的编译环境的示例图;图3为本专利技术第二实施例的编译系统的编译方法的基本结构示意图;图4为本专利技术第二实施例的编译系统的编译方法的详细结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。本文档来自技高网...
编译系统的编译方法、装置及终端设备

【技术保护点】
一种编译系统的编译方法,其特征在于,包括:通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;基于所述工具链容器与所述依赖库容器,执行当前编译系统的编译。

【技术特征摘要】
1.一种编译系统的编译方法,其特征在于,包括:通过集成开发环境IDE容器,加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;基于所述工具链容器与所述依赖库容器,执行当前编译系统的编译。2.根据权利要求1所述的方法,其特征在于,在所述通过IDE容器,加载与当前编译系统的编译需求匹配的工具链容器及依赖库容器之前,还包括:基于当前的操作系统,通过预设窗口系统协议与IDE容器内预存储的窗口协议建立连接,以启动所述IDE容器。3.根据权利要求1或2所述的方法,其特征在于,所述通过集成开发环境IDE容器,加载与当前编译系统的编译需求匹配的工具链容器及依赖库容器,包括:基于与IDE容器的编译需求对应的工具链类型和/或版本号,匹配对应的工具链容器;基于与IDE容器的编译需求对应的目标项目分支,匹配对应的依赖库容器;级联IDE容器与工具链容器并级联IDE容器与依赖库容器,以加载与当前编译系统的编译需求相匹配的工具链容器及依赖库容器;其中,工具链容器的容器镜像中包括一种类型和/或版本号的工具链相关信息;依赖库容器的容器镜像中包括一种类型和/或版本号的依赖库相关信息。4.根据权利要求3所述的方法,其特征在于,所述基于与IDE容器的编译需求对应的目标项目分支,匹配对应的依赖库容器,包括:基于与IDE容器的编译需求对应的在IDE容器中预存储的代码仓库的代码分支,匹配对应的依赖库容器。5.根据...

【专利技术属性】
技术研发人员:沙斌
申请(专利权)人:北京元心科技有限公司
类型:发明
国别省市:北京,11

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

1