一种基于增量编译器的全量编译方法、装置、介质及设备制造方法及图纸

技术编号:33292908 阅读:12 留言:0更新日期:2022-05-01 00:15
本申请实施例公开了一种基于增量编译器的全量编译方法、装置、介质及设备。其中,该方法包括:获取待全量编译程序的实体对象修订信息和实体对象编译信息;根据所述实体对象修订信息和所述实体对象编译信息的比较结果,更新所述实体对象编译信息;根据所述实体对象编译信息和所述实体对象修订信息,对所述待全量编译程序进行全量编译。本技术方案,可以通过待全量编译程序的实体对象修订信息和实体对象编译信息的比较结果,更新实体对象编译信息,实现程序的全量编译,有利于应对运行环境的变化,进而提高程序运行性能。进而提高程序运行性能。进而提高程序运行性能。

【技术实现步骤摘要】
一种基于增量编译器的全量编译方法、装置、介质及设备


[0001]本申请实施例涉及软件
,尤其涉及一种基于增量编译器的全量编译方法、装置、介质及设备。

技术介绍

[0002]目前,软件开发工具通常为开发人员提供增量编译器进行编译。增量编译对用户源程序局部修订后进行的重新编译的工作只限于修订的部分,以及与之相关部分的内容。相关部分的确定由增量编译器确定。增量编译对软件开发,尤其是在调试期,可以大大缩短编译时间,提高编译效率。
[0003]但是,企业的运营系统通常部署在大型主机系统上。随着主机数据库和操作系统升级,主机程序运行环境和编译器版本也随之发生变化,为提高应用程序运行性能,完善应用程序版本管理流程,需要对所有主机系统应用程序进行全量编译。此时,增量编译器不再能满足开发人员的需要。

技术实现思路

[0004]本申请实施例提供一种基于增量编译器的全量编译方法、装置、介质及设备,可以通过待全量编译程序的实体对象修订信息和实体对象编译信息的比较结果,更新实体对象编译信息,实现程序的全量编译,有利于应对运行环境的变化,进而提高程序运行性能。
[0005]第一方面,本申请实施例提供了一种基于增量编译器的全量编译方法,所述方法包括:
[0006]获取待全量编译程序的实体对象修订信息和实体对象编译信息;
[0007]根据所述实体对象修订信息和所述实体对象编译信息的比较结果,更新所述实体对象编译信息;
[0008]根据所述实体对象编译信息和所述实体对象修订信息,对所述待全量编译程序进行全量编译。
[0009]第二方面,本申请实施例提供了一种基于增量编译器的全量编译装置,该装置包括:
[0010]信息获取模块,用于获取待全量编译程序的实体对象修订信息和实体对象编译信息;
[0011]编译信息更新模块,用于根据所述实体对象修订信息和所述实体对象编译信息的比较结果,更新所述实体对象编译信息;
[0012]全量编译模块,用于根据所述实体对象编译信息和所述实体对象修订信息,对所述待全量编译程序进行全量编译。
[0013]第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的基于增量编译器的全量编译方法。
[0014]第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储
器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的基于增量编译器的全量编译方法。
[0015]本申请实施例所提供的技术方案,在获取待全量编译程序的实体对象修订信息和实体对象编译信息之后,通过实体对象修订信息和实体对象编译信息的比较结果,更新实体对象编译信息。然后,根据实体对象编译信息和实体对象修订信息,对待全量编译程序进行全量编译。该方案可以通过待全量编译程序的实体对象修订信息和实体对象编译信息的比较结果,更新实体对象编译信息,实现程序的全量编译,有利于应对运行环境的变化,进而提高程序运行性能。
附图说明
[0016]图1是本申请实施例一提供的基于增量编译器的全量编译方法的流程图;
[0017]图2为本专利技术实施例二提供的一种基于增量编译器的全量编译装置的结构示意图;
[0018]图3是本申请实施例四提供的一种电子设备的结构示意图。
具体实施方式
[0019]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
[0020]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0021]实施例一
[0022]图1是本申请实施例一提供的基于增量编译器的全量编译方法的流程图,本实施例可适用于任何基于增量编译器的全量编译场景,该方法可以由本申请实施例所提供的基于增量编译器的全量编译装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于电子设备中。
[0023]如图1所示,所述基于增量编译器的全量编译方法包括:
[0024]S110,获取待全量编译程序的实体对象修订信息和实体对象编译信息。
[0025]本方案可以由计算机、服务器以及工作站等电子设备执行,所述电子设备配置有增量编译器。软件程序通常基于一定的开发环境进行代码的编辑、编译和运行等过程。例如JAVA程序可以在电子设备中利用Eclipse、Jbuilder等开发工具进行软件开发。在电子设备中搭建PyCharm、Spyder以及Jupyter Notebook等环境,可以实现Python程序的编辑、编译和运行。
[0026]软件开发工具可以通过编译器来完成代码的编译工作,其中编译器通常为增量编译器。顾名思义,增量编译器是在源程序已经完成前一次编译的基础上再次编译时采取的一种增量性编译技术。增量编译技术可以减少源程序再次编译的时间,这对于源程序只作
了微小的改动,而要求再次编译时是非常有利的,不仅可以提高软件开发的效率,还可以提高软件测试人员的效率。因此,增量编译技术已经广泛的运用于商用的集成开发环境当中。
[0027]要实现增量编译技术,就需要对源程序前一次编译的结果进行有选择的保存,当对源程序再次编译时,可以在前一次编译的基础上进行增量计算,以实现增量编译。因此,电子设备可以从软件开发工具中获取历史编译信息,类似的,软件开发工具也可以集成有修订记录功能,用于对历史编辑信息进行记录。
[0028]根据数据库、操作系统等运行环境的变化情况,电子设备可以首先确定需要全量编译的程序,即待全量编译程序。然后,电子设备可以通过软件开发工具获取待全量编译程序的实体对象修订信息和实体对象编译信息。所述实体对象可以是组件函数、类、头文件、数据库以及数组等对象。
[0029]所述实体对象修订信息可以是开发人员对程序编辑行为的日志记录,也可以开发人员在保存程序之后生成的记录信息,所述记录信息可以是本次保存的程序与上一次保存的程序的修订信息的记录。所述实体对象修订信息可以包括实体对象类型、实体对象名称、修订方式以及修订时间等信息。
[0030]所述实体对象编译信息可以是程序中实体对象的编译记录。可选的,所述实体对象编译信息可以是自实体对象生成之后的全部编译记录,也可以是实体对象最新的编译记录。所述实体对象编译信息可以包括实体对象类型、实体对象名称、编译方式以及编译时间等信息。其中,所述编译方式可以包括单支程序编译以及批量打包编译等方式。所述单支程序编译本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于增量编译器的全量编译方法,其特征在于,所述方法包括:获取待全量编译程序的实体对象修订信息和实体对象编译信息;根据所述实体对象修订信息和所述实体对象编译信息的比较结果,更新所述实体对象编译信息;根据所述实体对象编译信息和所述实体对象修订信息,对所述待全量编译程序进行全量编译。2.根据权利要求1所述的方法,其特征在于,所述实体对象修订信息包括实体对象修订时间;所述实体对象编译信息包括实体对象编译时间;相应的,所述根据所述实体对象修订信息和所述实体对象编译信息的比较结果,更新所述实体对象编译信息,包括:根据所述实体对象修订时间和所述实体对象编译时间的比较结果,更新所述实体对象编译时间。3.根据权利要求2所述的方法,其特征在于,所述根据所述实体对象修订时间和所述实体对象编译时间的比较结果,更新所述实体对象编译时间,包括:若所述实体对象修订时间早于所述实体对象编译时间,则将所述实体对象编译时间修改为早于所述实体对象编译时间;若所述实体对象修订时间晚于所述实体对象编译时间,或,不存在所述实体对象编译时间,则不修改所述实体对象编译时间。4.根据权利要求1所述的方法,其特征在于,所述实体对象修订信息为实体对象修订信息表;在获取待全量编译程序的实体对象修订信息和实体对象编译信息之前,所述方法还包括:若检测到待全量编译程序的修订事件,则将所述待全量编译程序中目标实体对象的修订事件信息记录于实体对象修订信息表;其中,所述修订事件信息包括实体对象类型、实体对象标识以及修订时间。5.根据权利要求1所述...

【专利技术属性】
技术研发人员:陈伟顾雪峰李一峰
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1