一种并行预编译方法及系统技术方案

技术编号:34460584 阅读:15 留言:0更新日期:2022-08-06 17:20
本发明专利技术涉及一种并行预编译方法及系统,涉及应用程序编译发布技术领域,方法包括:获取预编译源码;对所述预编译源码进行预处理,以得到多组预编译数据;将各组所述预编译数据存储于不同的工作区;根据每组所述预编译数据及其对应的工作区,基于DLL编译创建链接地址;根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果。本发明专利技术提供的技术方案大大提高了预编译速度。度。度。

【技术实现步骤摘要】
一种并行预编译方法及系统


[0001]本专利技术涉及应用程序编译发布
,特别是涉及一种并行预编译方法及系统。

技术介绍

[0002]现有技术中,对于某一项目可能需要多个开发人员共同研发,其最终得到的软件代码众多,而若是使用一台机器进行串行预编译,其预编译过程的持续时间将非常长,影响应用版本的生成和代码的检测。因此,在需要预编译的文件过多时,如何提高预编译效率是目前亟待解决的问题。

技术实现思路

[0003]本专利技术的目的是提供一种并行预编译方法及系统,提高了预编译效率。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]本专利技术提供的一种并行预编译方法,包括:
[0006]获取预编译源码;
[0007]对所述预编译源码进行预处理,以得到多组预编译数据;
[0008]将各组所述预编译数据存储于不同的工作区;
[0009]根据每组所述预编译数据及其对应的工作区,基于DLL编译创建链接地址;
[0010]根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果。
[0011]可选地,所述并行预编译方法,还包括:
[0012]创建内存盘;
[0013]对所述内存盘的存储空间进行划分,以确定多个工作区,每个所述工作区用于存储一组预编译数据。
[0014]可选地,所述根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果,之后还包括:
[0015]判断每一预编译结果是否为编译成功;
[0016]若各预编译结果均为编译成功,则将多组所述预编译数据分发给客户端,并清除每组所述预编译数据对应的链接地址;
[0017]若任一预编译结果为编译未成功,则清除所有所述预编译数据和每组所述预编译数据对应的链接地址。
[0018]可选地,各所述链接地址为指向所述预编译数据对应的工作区的软链接。
[0019]本专利技术还提供一种并行预编译系统,包括:
[0020]源码获取模块,用于获取预编译源码;
[0021]分组模块,用于对所述预编译源码进行预处理,以得到多组预编译数据;
[0022]存储模块,用于将各组所述预编译数据存储于不同的工作区;
[0023]软链创建模块,用于根据每组所述预编译数据及其对应的工作区,基于DLL编译创建链接地址;
[0024]并行编译模块,用于根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果。
[0025]可选地,所述并行预编译系统,还包括:
[0026]内存盘创建子模块,用于创建内存盘;
[0027]工作区划分存储子模块,用于对所述内存盘的存储空间进行划分,以确定多个工作区,每个所述工作区用于存储一组预编译数据。
[0028]可选地,所述并行预编译系统,还包括:
[0029]判断模块,用于判断每一预编译结果是否为编译成功;
[0030]编译数据分发模块,用于当各预编译结果均为编译成功时,将多组所述预编译数据分发给客户端,并清除每组所述预编译数据对应的链接地址;
[0031]数据清除模块,用于当任一预编译结果为编译未成功时,清除所有所述预编译数据和每组所述预编译数据对应的链接地址。
[0032]可选地,各所述链接地址为指向所述预编译数据对应的工作区的软链接。
[0033]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0034]本专利技术提供了一种并行预编译方法及系统,对预编译源码进行预处理得到多组预编译数据,将各组预编译数据存储于不同的工作区;基于DLL编译创建的链接地址,能够在每组预编译数据以及其对应的工作区之间建立链接,提高预编译数据的调取速度。进而在对多组预编译数据进行预编译时,能够进行并行预编译,进一步提高预编译速度。
附图说明
[0035]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本专利技术并行预编译方法的流程示意图;
[0037]图2为本专利技术并行预编译方法的具体实施例的发布流程;
[0038]图3为本专利技术并行预编译系统的结构示意图。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]为使本专利技术的目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0041]实施例一
[0042]如图1所示,本实施例提供一种并行预编译方法,包括:
[0043]步骤100,获取预编译源码。
[0044]步骤200,对所述预编译源码进行预处理,以得到多组预编译数据。
[0045]步骤300,将各组所述预编译数据存储于不同的工作区。
[0046]优选地,所述并行预编译方法,还包括:
[0047]S1,创建内存盘。
[0048]S2,对所述内存盘的存储空间进行划分,以确定多个工作区,每个所述工作区用于存储一组预编译数据。具体地,可将一个工作区等分为N份,包括A1,A2,A3,A4
……
AN,而步骤200中得到的多组预编译数据亦为N组,包括B1,B2,B3,B4
……
BN,且A1用于存储B1,A2用于存储A2,依次类推,使得每个工作区存储一个对应的预编译数据。
[0049]具体地,预先设置工作区划分基准和参数,根据设置好的划分基准和参数对内存盘的存储空间进行划分,以实现不同工作区的确定。
[0050]步骤400,根据每组所述预编译数据及其对应的工作区,基于DLL编译创建链接地址。具体地,各所述链接地址为指向所述预编译数据对应的工作区的软链接。
[0051]要知道,在预编译过程中,存在对同一文件(公共资源)的多次调用,即需要对同一文件进行多次拷贝,拷贝次数可高达十次或者更多,通过创建软链接,在预编译过程中直接调用该软链接,能够大大减少对公共资源的拷贝量,提高数据处理的速度。
[0052]步骤500,根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果。
[0053]步骤600,判断每一预编译结果是否为编译成功。
[0054]步骤700,若各预编译结果均为编译成功,则将多组所述预编译数据分发给客户端,并清除每组所述预编译数据对应的链接地址。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种并行预编译方法,其特征在于,所述并行预编译方法包括:获取预编译源码;对所述预编译源码进行预处理,以得到多组预编译数据;将各组所述预编译数据存储于不同的工作区;根据每组所述预编译数据及其对应的工作区,基于DLL编译创建链接地址;根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果。2.根据权利要求1所述的并行预编译方法,其特征在于,所述并行预编译方法,还包括:创建内存盘;对所述内存盘的存储空间进行划分,以确定多个工作区,每个所述工作区用于存储一组预编译数据。3.根据权利要求2所述的并行预编译方法,其特征在于,所述根据每组所述预编译数据对应的链接地址,对多组所述预编译数据同时进行预编译,得到预编译结果,之后还包括:判断每一预编译结果是否为编译成功;若各预编译结果均为编译成功,则将多组所述预编译数据分发给客户端,并清除每组所述预编译数据对应的链接地址;若任一预编译结果为编译未成功,则清除所有所述预编译数据和每组所述预编译数据对应的链接地址。4.根据权利要求1所述的并行预编译方法,其特征在于,各所述链接地址为指向所述预编译数据对应的工作区的软链接。5.一种并行预编译系统,其特征在于,所述并行预编译系统包括:源码获...

【专利技术属性】
技术研发人员:李灿升江骏风黄鄂骆海东
申请(专利权)人:上海聚水潭网络科技有限公司
类型:发明
国别省市:

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

1