[发明专利]应用程序编译和运行方法及装置、存储介质在审
| 申请号: | 202210072064.7 | 申请日: | 2022-01-21 |
| 公开(公告)号: | CN114443051A | 公开(公告)日: | 2022-05-06 |
| 发明(设计)人: | 黄齐 | 申请(专利权)人: | 北京小米移动软件有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/445 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾 |
| 地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 编译 运行 方法 装置 存储 介质 | ||
1.一种应用程序编译方法,其特征在于,所述方法应用于终端,所述方法包括:
从所述应用程序对应的字节码文件中提取待编译信息;
构建与所述待编译信息对应的数据结构;
基于与所述待编译信息对应的数据结构,对所述字节码文件进行编译,生成中间文件;
确定用于对所述中间文件所包括的信息内容进行描述的文件描述信息;
基于所述中间文件和所述文件描述信息,生成对所述应用程序进行编译后的目标文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述字节码文件的完整性和合法性中的至少一项进行验证,确定验证结果;
在所述验证结果指示所述字节码文件为完整文件和/或合法文件的情况下,执行所述从所述应用程序对应的字节码文件中提取待编译信息的步骤。
3.根据权利要求1所述的方法,其特征在于,所述构建与所述待编译信息对应的数据结构,包括以下至少一项:
在所述待编译信息包括待编译的数据段信息的情况下,确定与所述数据段信息对应的第一内存空间;其中,所述第一内存空间大小与所述数据段信息所指示的数据量相等;
在所述待编译信息包括待编译的代码段信息的情况下,基于所述代码段信息中包括的函数的接口数目,确定至少一个数组;其中,所述数组的数目与所述接口数目相等。
4.根据权利要求1所述的方法,其特征在于,所述基于与所述待编译信息对应的数据结构,对所述字节码文件进行编译,生成中间文件,包括:
基于与所述待编译信息对应的数据结构,将所述字节码文件所包括的指令转换为底层虚拟机的中间表示;
基于所述中间表示,生成所述中间文件。
5.根据权利要求4所述的方法,其特征在于,所述基于与所述待编译信息对应的数据结构,将所述字节码文件所包括的代码转换为底层虚拟机的中间表示,包括:
在所述指令包括数据存访指令的情况下,将所述数据访问指令所访问的地址转换为对第一内存空间进行访问的所述中间表示;其中,所述第一内存空间是构建所述数据结构时确定的内存空间;
在所述指令包括函数定义指令的情况下,将所述函数定义指令转换为确定所定义函数的序号并在所定义函数对应的数组中存放所述序号的所述中间表示;其中,所述数组是构建所述数据结构时确定的;
在所述指令包括函数调用指令的情况下,将所述函数调用指令转换为从被调用函数对应的数组中进行调用的所述中间表示;
在所述指令包括切换指令的情况下,将所述切换指令转换为条件跳转方式的所述中间表示;
在所述指令包括原子指令的情况下,将所述原子指令转换为所述数据存访指令;其中,所述原子指令是指同一时间段内只允许一个处理器进行读写操作的指令。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述指令包括函数调用指令的情况下,在所述字节码文件所包括的参数之前添加数据结构参数。
7.根据权利要求1所述的方法,其特征在于,所述文件描述信息包括以下至少一项:
所述中间文件所包括的函数的序号与所述函数的命名信息之间的对应关系信息;
使用第一内存空间的描述信息;其中,所述第一内存空间是构建所述数据结构时确定的内存空间;
所述中间文件所包括的函数名与函数索引之间的映射关系信息;其中,所述函数索引是基于所述函数的所述序号确定的。
8.根据权利要求1所述的方法,其特征在于,所述基于所述中间文件和所述文件描述信息,生成对所述应用程序进行编译后的目标文件,包括:
将所述中间文件包括的代码段复制到待生成的文件中;
在所述待生成的文件的指定位置生成所述文件描述信息,得到所述目标文件。
9.根据权利要求1所述的方法,其特征在于,在生成所述目标文件之后,所述方法还包括:
将所述目标文件发送给物联网IoT设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210072064.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:空调器升级方法、空调器
- 下一篇:一种新型熔断体加工工艺





