[发明专利]原生应用对Linux Arm64的兼容性判断方法在审
申请号: | 202211681254.5 | 申请日: | 2022-12-27 |
公开(公告)号: | CN115729564A | 公开(公告)日: | 2023-03-03 |
发明(设计)人: | 何晓杰;郦才足;花京武;宋杨;秦钢;封霞洪;张弥 | 申请(专利权)人: | 杭州指令集智能科技有限公司;重庆云内核智能科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/61 |
代理公司: | 杭州品众专利代理事务所(特殊普通合伙) 33459 | 代理人: | 蔡陈祥 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 原生 应用 linux arm64 兼容性 判断 方法 | ||
本申请涉及一种原生应用对Linux Arm64的兼容性判断方法,通过读入原生应用的源码,将原生应用部署在Linux Arm64编译部署环境中;尝试对所述原生应用的源码进行编译,获得对应的指令集;根据预设兼容判断条件,判断所述指令集中的指令是否兼容Linux Arm64编译部署环境:若兼容,则输出最终结果;否则分析当前指令的异常兼容原因,并输出出错信息。能够以最小的代价直接判断应用能否兼容Linux Arm64编译部署环境,并在不兼容的情况下,指出不兼容的代码,从而使得从Linux x86_64到Linux Arm64的环境变更,无需再对应用进行额外测试,直接可以知道兼容情况。
技术领域
本公开涉及指令集应用技术领域,尤其涉及一种原生应用对Linux Arm64的兼容性判断方法、装置和控制系统。
背景技术
在开发过程中,企业内部的编译部署平台,因原先的原生应用编译部署环境为Linux x86_64(其架构见说明书附图1),而后续由于业务拓展需求,需要将原生应用编译到Linux Arm64(其架构见说明书附图2)。此时,需要判断原生应用能否兼容Linux Arm64的环境,需要对应用进行额外测试,知道其兼容情况。
而在正常情况下,编译人员并不知道一个原生应用是否能直接支持Linux Arm64,除非通过源码对它进行编译,并且对编译的过程和结果进行验证。在Linux下,x86_64和Arm64是有巨大的底层指令集差异的,并且也不存在类似于Mac(darwin)那样的融合架构机制,该特性决定了对于一个原生的Linux应用,它无法同时工作于两种架构下。
因此在Linux上面发布原生应用时,就必须明确的考虑应用所支持的架构。在当前行业中,均是采用编译和验证的方法,原生应用特指的是不需要任何额外的环境依赖,直接依赖操作系统和硬件指令集的那一类应用,通常由C语言,C++,Go,Rust或是其他原生技术栈开发。
由于目前行业内普遍采用在Linux Arm64环境下对原生应用进行重新编译,并且对编译结果进行完整测试的手段来确认该应用是否真的兼容Linux Arm64环境,对于较为大型的项目,这样的编译尝试将浪费大量时间和计算资源,也需要占用大量的人力资源。
因此,在现有技术下,无法快速且低成本的完成从 Linux x86_64 到 LinuxArm64的应用迁移。它通常需要一个真实的 Linux Arm64 环境,然后在该环境上重新从源码编译应用程序,并且花费大量的力气在测试上。可以说是效率极低,成本极高,对于行业内越来越多的使用Arm64架构的硬件设备的情况,迁移历史负担较大的应用显然会付出巨额的成本。
发明内容
为了解决上述问题,本申请提出一种原生应用对Linux Arm64的兼容性判断方法、装置和控制系统。
本申请一方面,提出一种原生应用对Linux Arm64的兼容性判断方法,包括如下步骤:
读入原生应用的源码,将原生应用部署在Linux Arm64编译部署环境中;
尝试对所述原生应用的源码进行编译,获得对应的指令集;
根据预设兼容判断条件,判断所述指令集中的指令是否兼容Linux Arm64编译部署环境:
若兼容,则输出最终结果;否则分析当前指令的异常兼容原因,并输出出错信息。
作为本申请的一可选实施方案,可选地,在获得对应的指令集之后,还包括:
预设翻译条件和解析条件;
根据所述翻译条件,翻译所述指令集,得到若干指令;
根据所述解析条件,对每条所述指令进行指令解析,得到解析后的指令;
等待兼容判断。
作为本申请的一可选实施方案,可选地,根据预设兼容判断条件,判断所述指令集中的指令是否兼容Linux Arm64编译部署环境,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州指令集智能科技有限公司;重庆云内核智能科技有限公司,未经杭州指令集智能科技有限公司;重庆云内核智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211681254.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种灵芝孢子粉及其生产方法
- 下一篇:一种注射定位器