[发明专利]应用程序编译和运行方法及装置、存储介质在审

专利信息
申请号: 202210072064.7 申请日: 2022-01-21
公开(公告)号: CN114443051A 公开(公告)日: 2022-05-06
发明(设计)人: 黄齐 申请(专利权)人: 北京小米移动软件有限公司
主分类号: G06F8/41 分类号: G06F8/41;G06F9/445
代理公司: 北京博思佳知识产权代理有限公司 11415 代理人: 陈蕾
地址: 100085 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 应用程序 编译 运行 方法 装置 存储 介质
【说明书】:

本公开提供了一种应用程序编译和运行方法及装置、存储介质。其中,该编译方法包括:从所述应用程序对应的字节码文件中提取待编译信息;构建与所述待编译信息对应的数据结构;基于与所述待编译信息对应的数据结构,对所述字节码文件进行编译,生成中间文件;确定用于对所述中间文件所包括的信息内容进行描述的文件描述信息;基于所述中间文件和所述文件描述信息,生成对所述应用程序进行编译后的目标文件。本公开可以实现应用程序原地执行,节约了物联网设备的大量内存,且适用于多种物联网设备平台,具备在小型甚至微型嵌入式物联网设备系统上使用的价值,可用性和安全性高。

技术领域

本公开涉及软件编译领域,尤其涉及一种应用程序编译和运行方法及装置、存储介质。

背景技术

目前,物联网(Internet of Things,IoT)设备在运行应用程序时,需要将该应用程序对应的代码文件从闪存中复制到内存中,通过内存读取该文件后启动应用程序,从而造成大量的内存消耗。

发明内容

有鉴于此,本申请公开了一种应用程序编译和运行方法及装置、存储介质。

根据本公开实施例的第一方面,提供一种应用程序编译方法,所述方法应用于终端,所述方法包括:

从所述应用程序对应的字节码文件中提取待编译信息;

构建与所述待编译信息对应的数据结构;

基于与所述待编译信息对应的数据结构,对所述字节码文件进行编译,生成中间文件;

确定用于对所述中间文件所包括的信息内容进行描述的文件描述信息;

基于所述中间文件和所述文件描述信息,生成对所述应用程序进行编译后的目标文件。

可选地,所述方法还包括:

对所述字节码文件的完整性和合法性中的至少一项进行验证,确定验证结果;

在所述验证结果指示所述字节码文件为完整文件和/或合法文件的情况下,执行所述从所述应用程序对应的字节码文件中提取待编译信息的步骤。

可选地,所述构建与所述待编译信息对应的数据结构,包括以下至少一项:

在所述待编译信息包括待编译的数据段信息的情况下,确定与所述数据段信息对应的第一内存空间;其中,所述第一内存空间大小与所述数据段信息所指示的数据量相等;

在所述待编译信息包括待编译的代码段信息的情况下,基于所述代码段信息中包括的函数的接口数目,确定至少一个数组;其中,所述数组的数目与所述接口数目相等。

可选地,所述基于与所述待编译信息对应的数据结构,对所述字节码文件进行编译,生成中间文件,包括:

基于与所述待编译信息对应的数据结构,将所述字节码文件所包括的指令转换为底层虚拟机的中间表示;

基于所述中间表示,生成所述中间文件。

可选地,所述基于与所述待编译信息对应的数据结构,将所述字节码文件所包括的代码转换为底层虚拟机的中间表示,包括:

在所述指令包括数据存访指令的情况下,将所述数据访问指令所访问的地址转换为对第一内存空间进行访问的所述中间表示;其中,所述第一内存空间是构建所述数据结构时确定的内存空间;

在所述指令包括函数定义指令的情况下,将所述函数定义指令转换为确定所定义函数的序号并在所定义函数对应的数组中存放所述序号的所述中间表示;其中,所述数组是构建所述数据结构时确定的;

在所述指令包括函数调用指令的情况下,将所述函数调用指令转换为从被调用函数对应的数组中进行调用的所述中间表示;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210072064.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top