The invention discloses a program running method and a device, belonging to the technical field of computer. The method comprises: obtaining a plurality of program information loading sequence, a plurality of program information required for the operation of the target program information, the target program for the program module application or application; multiple program information and a plurality of program information loading sequence based on the first generation of executable files, the first to be the executable file to load and run in a virtual machine file; when detected according to the operation instruction of the target program, the program can be loaded first information mapping to be performed in the file into memory, to run on the target program. The invention of the first executable file after the arrangement to load the program information and mapping in the range of memory pages in the program information it is likely the target program to the currently running program information, which can reduce the redundant information in the pages of memory, improve memory utilization.
【技术实现步骤摘要】
程序运行方法及装置
本专利技术涉及计算机
,特别涉及一种程序运行方法及装置。
技术介绍
计算机能够通过运行各种不同的程序来完成不同的任务,且计算机在运行程序时,往往是由该计算机中的虚拟机加载该程序对应的可执行文件,来实现该程序的运行,该可执行文件中包括多个程序信息,该多个程序信息为运行该程序时所需的信息,例如,该多个程序信息可以为运行该程序时所需的类型信息、方法信息、字段信息等。目前,提供了一种程序运行方法,具体为:获取多个程序信息,该多个程序信息为运行某一程序时所需的信息;将该多个程序信息按照字典序进行排序,得到排序后的多个程序信息;基于该排序后的多个程序信息,生成该程序对应的可执行文件;当检测到针对该程序的运行指令时,将该可执行文件中所要加载的程序信息映射到内存中,以对该程序进行运行。计算机在将该可执行文件中所要加载的程序信息映射到内存中时,往往是以内存页为单位进行映射的,换句话说,计算机会将该所要加载的程序信息以及排列在该所要加载的程序信息之后且在该内存页的映射范围内的程序信息均映射到该内存页中,而由于该多个程序信息在该可执行文件中是按照字典序进行排列的,因此,排列在该所要加载的程序信息之后且在该内存页的映射范围内的程序信息并不一定是该程序当前运行所需要的程序信息,所以,此时该内存页所映射的程序信息中可能仅有少量是该程序当前运行所需要的,也即是此时该内存页中含有大量的冗余信息,内存利用率较低。
技术实现思路
为了解决相关技术的问题,本专利技术实施例提供了一种程序运行方法及装置。所述技术方案如下:一方面,提供了一种程序运行方法,所述方法包括:获取多个 ...
【技术保护点】
一种程序运行方法,其特征在于,所述方法包括:获取多个程序信息的加载顺序,所述多个程序信息为运行目标程序时所需的信息,所述目标程序为应用程序或所述应用程序中的功能模块程序;基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,所述第一可执行文件为能够在虚拟机中加载运行的文件;当检测到针对所述目标程序的运行指令时,将所述第一可执行文件中所要加载的程序信息映射到内存中,以对所述目标程序进行运行。
【技术特征摘要】
1.一种程序运行方法,其特征在于,所述方法包括:获取多个程序信息的加载顺序,所述多个程序信息为运行目标程序时所需的信息,所述目标程序为应用程序或所述应用程序中的功能模块程序;基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,所述第一可执行文件为能够在虚拟机中加载运行的文件;当检测到针对所述目标程序的运行指令时,将所述第一可执行文件中所要加载的程序信息映射到内存中,以对所述目标程序进行运行。2.如权利要求1所述的方法,其特征在于,所述获取多个程序信息的加载顺序,包括:基于所述多个程序信息和所述多个程序信息的字典序,生成第二可执行文件,所述第二可执行文件为能够在虚拟机中加载运行的文件;通过运行所述第二可执行文件,获取所述多个程序信息的加载顺序。3.如权利要求2所述的方法,其特征在于,所述通过运行所述第二可执行文件,获取所述多个程序信息的加载顺序,包括:在运行所述第二可执行文件的过程中,基于所述第二可执行文件的信息加载日志,获取所述多个程序信息的加载顺序;或者,在运行所述第二可执行文件的过程中,通过钩子HOOK技术获取所述多个程序信息的加载顺序。4.如权利要求1所述的方法,其特征在于,所述基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,包括:按照所述多个程序信息的加载顺序,基于指定文件格式对所述多个程序信息进行打包,得到所述第一可执行文件,所述指定文件格式为所述第一可执行文件的文件格式。5.如权利要求1所述的方法,其特征在于,所述基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,包括:按照所述多个程序信息的加载顺序,从所述多个程序信息中选择指定数值个程序信息;基于所述指定数值个程序信息,生成主文件,所述主文件为能够在虚拟机中加载运行的文件;基于所述多个程序信息中除所述指定数值个程序信息之外的程序信息,生成副文件,所述副文件为能够在虚拟机中加载运行的文件;将所述主文件和所述副文件组合成所述第一可执行文件...
【专利技术属性】
技术研发人员:王亮,张志伟,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。