[发明专利]一种应用程序运行方法、计算设备及存储介质有效
申请号: | 202111117065.0 | 申请日: | 2021-09-23 |
公开(公告)号: | CN113821272B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 钟俊;罗攀登;唐蔺;杨洋 | 申请(专利权)人: | 武汉深之度科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F8/41 |
代理公司: | 北京瀚方律师事务所 11774 | 代理人: | 周红力 |
地址: | 430206 湖北省武汉市东湖新技术开发区*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 运行 方法 计算 设备 存储 介质 | ||
1.一种应用程序运行方法,适于在计算设备中执行,所述计算设备中包括内部存储器和外部存储器,所述外部存储器中存储有应用文件和模块文件,所述方法包括步骤:
根据所述应用文件生成应用程序的可执行文件;
根据所述应用程序的可执行文件,确定应用程序在所述内部存储器中存储的第一存储信息,所述第一存储信息包括在所述内部存储器中所分配的堆区段的第一区段信息;
根据所述第一区段信息和所述模块文件生成所述堆区段的第二区段信息;
根据所述第二区段信息和所述第一存储信息生成第二存储信息;
根据所述第二存储信息将所述应用程序的可执行文件和模块文件加载到所述内部存储器;
根据所述内部存储器中的可执行文件和模块文件运行所述应用程序,并在所述应用程序中构建功能模块,以实现所述应用程序的附加功能;
其中,在所述应用程序中构建功能模块包括步骤:
根据分配的堆区段的顶部指针,确定所述模块文件读取的起始位置;
根据所述模块文件读取的起始位置,调取所述模块文件,构建所述功能模块。
2.如权利要求1所述的方法,其中,所述根据所述应用程序的可执行文件,确定应用程序在所述内部存储器中存储的第一存储信息包括步骤:
根据所述可执行文件的数据大小,确定在所述内部存储器中分配的堆区段的第一区段大小,所述第一区段大小大于所述可执行文件的数据大小;
根据所述第一区段大小生成所述堆区段的第一区段信息;
根据所述第一区段信息生成第一存储信息。
3.如权利要求2所述的方法,其中,所述根据所述第一区段信息和所述模块文件生成所述堆区段的第二区段信息包括步骤:
根据所述可执行文件的数据大小和所述第一区段信息生成剩余空间大小;
判断所述剩余空间大小是否大于所述模块文件的大小;
若大于,则将所述第一区段大小作为第二区段大小;
根据所述第二区段大小生成第二区段信息。
4.如权利要求3所述的方法,其中,所述根据所述可执行文件的数据大小和所述第一区段信息生成剩余空间大小包括步骤:
将所述第一区段大小与所述可执行文件的数据大小相减,得到所述剩余空间大小。
5.如权利要求3或4所述的方法,其中,所述根据所述第二存储信息将所述应用程序的可执行文件和模块文件加载到所述内部存储器包括步骤:
根据所述第二存储信息在所述内部存储器中分配堆区段;
获取所分配的堆区段的顶部指针和底部指针;
根据所述底部指针将所述可执行文件加载到所述堆区段;
根据所述顶部指针和所述模块文件确定所述模块文件存储的起始位置;
根据所述模块文件存储的起始位置将所述模块文件加载到所述内部存储器。
6.如权利要求5所述的方法,其中,所述根据所述顶部指针和所述模块文件确定所述模块文件存储的起始位置包括步骤:
将所述顶部指针与所述模块文件的大小相减得到所述模块文件存储的起始位置。
7.如权利要求6所述的方法,其中,所述方法还包括步骤:
当所述模块文件需要新的存储空间时,计算所述模块文件的当前大小;
根据所述顶部指针与计算的模块文件的当前大小重新确定所述模块文件存储的起始位置;
根据重新确定的模块文件存储的起始位置将所述模块文件加载到所述内部存储器。
8.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1-7中任一项所述的方法的指令。
9.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1-7中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉深之度科技有限公司,未经武汉深之度科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111117065.0/1.html,转载请声明来源钻瓜专利网。