[发明专利]基于容器的程序编译方法、装置、电子设备及存储介质在审
申请号: | 202111509678.9 | 申请日: | 2021-12-10 |
公开(公告)号: | CN114168151A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 赵岩 | 申请(专利权)人: | 北京鲸鲮信息系统技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/455 |
代理公司: | 北京市铸成律师事务所 11313 | 代理人: | 陈晓欣;包莉莉 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 容器 程序 编译 方法 装置 电子设备 存储 介质 | ||
本申请提出一种基于容器的程序编译方法、装置、电子设备及存储介质。本申请的技术方案包括:响应于应用程序的编译请求,基于应用程序所应用于的系统架构,获取可用于编译应用程序的目标容器;其中,目标容器包括可编译应用程序的根文件系统;将应用程序移植到目标容器中;在目标容器中,利用根文件系统中的编译环境模拟器,模拟出系统架构与应用程序所应用于的系统架构相同的编译环境;并将应用程序部署在编译环境中,并利用根文件系统中的应用程序需要的编译工具,对部署在编译环境中的应用程序进行编译。采用本申请的技术方案,在实现交叉编译和隔离编译的基础上,减少编译工具的资源占用,提高编译效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于容器的程序编译方法、装置、电子设备及存储介质。
背景技术
对于应用程序(也可以称为软件包)的编译,一般都是基于本地主机对软件包进行编译,或者使用虚拟机来编译软件包。在编译过程中,软件包所依赖的一些资源或程序(也可称为依赖包)都需要预先安装在本地环境中或者虚拟机环境中,然后调用编译工具,基于预先安装的资源或程序对软件包进行编译,得到对应的可执行代码或程序。
发明内容
本申请实施例提供一种基于容器的程序编译方法、装置、电子设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供一种基于容器的程序编译方法,包括:
响应于应用程序的编译请求,基于所述应用程序所应用于的系统架构,获取可用于编译所述应用程序的目标容器;其中,所述目标容器包括可编译所述应用程序的根文件系统,所述根文件系统至少包括所述应用程序需要的编译工具和编译环境模拟器;
将所述应用程序移植到所述目标容器中;
在所述目标容器中,利用所述根文件系统中的编译环境模拟器,模拟出系统架构与所述应用程序所应用于的系统架构相同的编译环境;
在所述目标容器中,将所述应用程序部署在所述编译环境中,并利用所述根文件系统中的所述应用程序需要的编译工具,对部署在所述编译环境中的所述应用程序进行编译。
第二方面,本申请实施例提供一种基于容器的程序编译装置,包括:
容器获取模块,用于响应于应用程序的编译请求,基于所述应用程序所应用于的系统架构,获取可用于编译所述应用程序的目标容器;其中,所述目标容器包括可编译所述应用程序的根文件系统,所述根文件系统至少包括所述应用程序需要的编译工具和编译环境模拟器;
程序移植模块,用于将所述应用程序移植到所述目标容器中;
编译环境模拟模块,用于在所述目标容器中,利用所述根文件系统中的编译环境模拟器,模拟出系统架构与所述应用程序所应用于的系统架构相同的编译环境;
编译模块,用于在所述目标容器中,将所述应用程序部署在所述编译环境中,并利用所述根文件系统中的所述应用程序需要的编译工具对部署在所述编译环境中的所述应用程序进行编译。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一种实施方式中的基于容器的程序编译方法。
第四方面,本申请实施例一种非瞬时计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现本申请任一种实施方式中的基于容器的程序编译方法。
上述技术方案中的优点或有益效果至少包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鲸鲮信息系统技术有限公司,未经北京鲸鲮信息系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111509678.9/2.html,转载请声明来源钻瓜专利网。