CN115857937A - 增量编译方法、系统、电子设备及存储介质 - Google Patents
增量编译方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115857937A CN115857937A CN202211217007.XA CN202211217007A CN115857937A CN 115857937 A CN115857937 A CN 115857937A CN 202211217007 A CN202211217007 A CN 202211217007A CN 115857937 A CN115857937 A CN 115857937A
- Authority
- CN
- China
- Prior art keywords
- file
- incremental
- compiled
- compiling
- simplified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012432 intermediate storage Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种增量编译方法、系统、电子设备及存储介质,所述增量编译方法应用于源端,该方法包括:获取嵌入式端的增量编译文件;对所述增量编译文件进行简化,获得简化编译文件;将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。本申请解决了现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种增量编译方法、系统、电子设备及存储介质。
背景技术
随着嵌入式技术的飞速发展,业务的功能复杂性也日益提高。出于对编译速度的要求,目前逐渐引入了增量式编译技术。现有增量编译方法通常是先在任意源端(如Windows端、Linux端、Android端等)进行增量编译。然后再把增量编译后所产生的所有中间存储文件(即源程序中局部变化部分的中间文件)通过固件的形式下载到嵌入式端进行编译。但是这种方式大量占用嵌入式端的存储空间,对本就空间有限的嵌入式端造成较大存储冲击。
发明内容
本申请的主要目的在于提供一种增量编译方法、系统、电子设备及存储介质,旨在解决现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。
为实现上述目的,本申请提供一种增量编译方法,应用于源端,所述增量编译方法包括:
获取嵌入式端的增量编译文件;
对所述增量编译文件进行简化,获得简化编译文件;
将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。
可选地,所述对所述增量编译文件进行简化,获得简化编译文件的步骤包括:
按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件,并确定各所述增量模块文件的第一标识;
获取嵌入式端的当前模块文件的第二标识;
从所述增量模块文件中删除所述第一标识与所述第二标识一致的增量模块文件,获得差异模块文件;
确定所述差异模块文件对应的简化编译文件。
可选地,所述确定所述差异模块文件对应的简化编译文件的步骤包括:
获取所述嵌入式端的设备型号,并确定所述设备信号对应的预设嵌入式型号对照表;
根据所述预设嵌入式型号对照表,将所述差异模块文件中的源代码替换为嵌入式代码,获得所述差异模块文件对应的简化编译文件。
可选地,在所述按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件的步骤之前包括:
判断所述增量编译文件中是否存在非编译内容,其中所述非编译内容包括注释、空格、回车中的至少一种;
若所述增量编译文件中存在非编译内容,则将所述增量编译文件中非编译内容删去,并将删去非编译内容的增量编译文件作为新的增量编译文件。
可选地,所述增量编译文件包括不同操作系统下编译的增量编译文件,在所述对所述增量编译文件进行简化,获得简化编译文件的步骤之前,所述增量编译方法还包括:
根据所述增量编译文件所处的第一操作系统,将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件,并执行步骤:对所述增量编译文件进行简化,获得简化编译文件。
为实现上述目的,本申请还提供一种增量编译方法,应用于嵌入式端,所述增量编译方法包括:
接收源端发送的简化编译文件;
将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
可选地,所述将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件的步骤包括:
基于所述简化编译文件所处的第三操作系统,确定目标文件格式,并获取所述目标文件格式下所述嵌入式端的当前模块文件;
将所述当前模块文件和所述简化编译文件进行合并,获得合并编译文件,并将所述合并编译文件的文件格式转换为所述嵌入式端的第二操作系统对应的执行文件格式,获得所述执行编译文件。
为实现上述目的,本申请还提供一种增量编译系统,所述增量编译系统包括:源端和嵌入式端;
所述源端,用于获取嵌入式端的增量编译文件;
还用于对所述增量编译文件进行简化,获得简化编译文件;
还用于将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译;
所述嵌入式端,用于接收源端发送的简化编译文件;
还用于将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
还用于基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
可选地,所述源端,还用于:
按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件,并确定各所述增量模块文件的第一标识;
获取嵌入式端的当前模块文件的第二标识;
从所述增量模块文件中删除所述第一标识与所述第二标识一致的增量模块文件,获得差异模块文件;
确定所述差异模块文件对应的简化编译文件。
可选地,所述源端,还用于:
获取所述嵌入式端的设备型号,并确定所述设备信号对应的预设嵌入式型号对照表;
根据所述预设嵌入式型号对照表,将所述差异模块文件中的源代码替换为嵌入式代码,获得所述差异模块文件对应的简化编译文件。
可选地,所述源端,还用于:
判断所述增量编译文件中是否存在非编译内容,其中所述非编译内容包括注释、空格、回车中的至少一种;
若所述增量编译文件中存在非编译内容,则将所述增量编译文件中非编译内容删去,并将删去非编译内容的增量编译文件作为新的增量编译文件。
可选地,所述源端,还用于:
根据所述增量编译文件所处的第一操作系统,将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件,并执行步骤:对所述增量编译文件进行简化,获得简化编译文件。
可选地,所述嵌入式端,还用于:
接收源端发送的简化编译文件;
将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
可选地,所述嵌入式端,还用于:
基于所述简化编译文件所处的第三操作系统,确定目标文件格式,并获取所述目标文件格式下所述嵌入式端的当前模块文件;
将所述当前模块文件和所述简化编译文件进行合并,获得合并编译文件,并将所述合并编译文件的文件格式转换为所述嵌入式端的第二操作系统对应的执行文件格式,获得所述执行编译文件。
本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述增量编译方法的程序,所述增量编译方法的程序被处理器执行时可实现如上述的增量编译方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有实现增量编译方法的程序,所述增量编译方法的程序被处理器执行时实现如上述的增量编译方法的步骤。
本申请提供了一种增量编译方法、系统、电子设备及存储介质,相比于现有技术中把增量编译后所产生的所有中间存储文件通过固件的形式下载到嵌入式端进行编译的方式,本申请在获取嵌入式端的增量编译文件,对所述增量编译文件进行简化(如删除重复模块文件、将源代码替换成嵌入式端简写的嵌入式代码等简化方式)获得简化编译文件。然后将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。由此,发送至嵌入式端的简化编译文件的文件大小被缩小,从而可以减少对嵌入式端存储空间的占用,此外还可以提高文件传输速率,降低了编译过程的时间损耗。因此解决了现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请增量编译方法第一实施例的流程示意图;
图2为本申请增量编译方法一实施例的处理流程示例图;
图3为本申请增量编译方法另一实施例的处理流程示例图;
图4为本申请增量编译方法第二实施例的流程示意图;
图5为本申请实施例中增量编译方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本申请保护的范围。
实施例一
参照图1,图1为本申请增量编译方法第一实施例的流程示意图。
本申请实施例提供一种增量编译方法,在本申请增量编译方法的第一实施例,应用于源端,所述增量编译方法包括:
步骤S10,获取嵌入式端的增量编译文件;
步骤S20,对所述增量编译文件进行简化,获得简化编译文件;
步骤S30,将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。
在本实施例中,需要说明的是,所述增量编译方法应用增量编译系统,该增量编译系统包括源端和嵌入式端,所述源端可以是笔记本电脑、台式计算机、平板电脑等电子设备,所述嵌入式端可以是EMPU(Embedded Microprocessor Unit,嵌入式微处理器)、MCU(Microcontroller Unit,嵌入式微控制器)、EDSP(Embedded Digital Signal Processor,嵌入式数字信号处理器)、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)等。
另外,需要说明的是,所述增量编译文件为编程人员针对所述嵌入式端的应用程序进行增量编译后得到的编译文件,所述增量编译过程可以在所述源端进行,也可以在其他设备上进行。
作为一种示例,步骤S10至步骤S30包括:在获取嵌入式端的增量编译文件后,可以将增量编译文件按照所述增量文件的增量项目进行划分,从而得到各所述增量项目的增量模块文件,然后将增量模块文件和嵌入式端的当前项目的当前模块文件进行对比,然后删除所述增量模块文件中与所述当前模块文件相同的增量模块文件,以对所述增量编译文件进行简化,获得简化编译文件。通过将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。
作为另一实施例中,获取嵌入式端的增量编译文件后,根据所述嵌入式端的设备型号和预设嵌入式型号对照表,将所述差异模块文件中的源代码替换为嵌入式代码,以对所述增量编译文件进行简化,获得简化编译文件。然后通过将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。
其中,所述增量编译文件可以包括不同操作系统下编译的增量编译文件,在所述对所述增量编译文件进行简化,获得简化编译文件的步骤之前,所述增量编译方法还包括:
步骤S11,根据所述增量编译文件所处的第一操作系统,将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件,并执行步骤:对所述增量编译文件进行简化,获得简化编译文件。
可参照图2,图2为本申请增量编译方法一实施例的处理流程示例图。在图2中,所述增量编译文件包括增量编译文件1、增量编译文件2和增量编译文件3。可以理解的是,编译所述增量编译文件的设备的操作系统可能是不同的,而不同操作系统采用的文件格式并不相同。
此外,本实施例中需要说明的是,所述第一操作系统可以是Windows系统、Linux系统、Android系统等。
因此,在所述增量编译文件包括不同操作系统下编译的增量编译文件的情况下,为了避免所述增量编译文件的文件格式冲突,则在根据所述增量编译文件所处的第一操作系统,将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件,从而保证进行简化的增量编译文件的文件格式一致。在将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件后,则可执行步骤:对所述增量编译文件进行简化,获得简化编译文件。需要将所述第一操作系统。示例性地,编译增量编译文件1和增量编译文件2的设备的操作系统为Linux系统,编译增量编译文件3的设备的操作系统为Windows系统,则可以将增量编译文件1和增量编译文件2划分为一个增量编译文件,将增量编译文件3划分为另一个增量编译文件。然后分别对这两个增量编译文件进行简化,得到对应的两个简化编译文件。
其中,所述对所述增量编译文件进行简化,获得简化编译文件的步骤包括:
步骤S21,按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件,并确定各所述增量模块文件的第一标识;
步骤S22,获取嵌入式端的当前模块文件的第二标识;
步骤S23,从所述增量模块文件中删除所述第一标识与所述第二标识一致的增量模块文件,获得差异模块文件;
步骤S24,确定所述差异模块文件对应的简化编译文件。
在本实施例中,需要说明的是,增量编译虽然是增量地处理源程序代码中的变化,从而避免重复进行针对整个程序的完全编译。但实际上增量编译得到的增量编译文件中依旧会存在一些与当前源程序中各项目的模块文件相同的内容。
此外,需要说明的是,所述第一标识为各所述增量模块文件的标识信息,例如版本号、识别字符等。所述第二标识为各所述当前模块文件的标识信息,例如版本号、识别字符等。
作为一种示例,步骤S21至步骤S24包括:按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件,并确定各所述增量模块文件的第一标识;获取嵌入式端的现有项目文件按现有项目划分后得到的当前模块文件,并确定所述第二当前模块文件的第二标识;然后通过各所述增量模块的第一标识和第二标识进行对比,从所述增量模块文件中删除所述第一标识与所述第二标识一致的增量模块文件,获得差异模块文件。由此可以删去增量编译文件中与嵌入式端的当前模块文件相同的增量模块文件,在不影响后续编译过程的前提下,对所述增量编译文件进行简化,减小了编译文件的大小。然后再确定所述差异模块文件对应的简化编译文件。
示例性地,可参照图3,图3为本申请增量编译方法另一实施例的处理流程示例图。在图3中按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件并确定对应的第一标识:模块A-1.1;模块B-2.4;模块B-2.6。然后将嵌入式端的现有项目文件按现有项目划分后得到的当前模块文件,并确定所述第二当前模块文件的第二标识:模块A-1.1;模块B-2.7;模块D-2.6。然后通过各所述增量模块的第一标识和第二标识进行对比,可以确定模块A-1.1对应的增量模块文件是重复的文件,则可以从所述增量模块文件中删除模块A-1.1对应的增量模块文件,将剩余的模块B-2.4和模块B-2.6对应的增量模块文件作为差异模块文件。再确定所述差异模块文件对应的简化编译文件。
其中,所述确定所述差异模块文件对应的简化编译文件的步骤包括:
步骤A10,获取所述嵌入式端的设备型号,并确定所述设备信号对应的预设嵌入式型号对照表;
步骤A20,根据所述预设嵌入式型号对照表,将所述差异模块文件中的源代码替换为嵌入式代码,获得所述差异模块文件对应的简化编译文件。
在本实施例中,需要说明的是,嵌入式端(嵌入式设备)类型和功能多样,且来源于多个厂商,因此嵌入式端具备多种不同的型号,而不同型号的嵌入式端上运行的嵌入式代码区别于源代码。而嵌入式代码中通常采用简写字符串用于表示源代码中字符串。所述预设嵌入式型号对照表为所述嵌入端的设备型号下嵌入式代码中的简写字符串与源代码中字符串之间的对照表。
作为一种示例,步骤A10中包括:所述源端可以通过发送相应的设备型号查询指令至所述嵌入式端,以获得所述嵌入式端的设备型号,并确定所述设备信号对应的预设嵌入式型号对照表。然后根据所述预设嵌入式型号对照表将所述差异模块文件中源代码的字符串替换为对应的简化字符串,从而将所述差异模块文件的源代码替换为嵌入式代码,获得所述差异模块文件对应的简化编译文件。
本实施例通过将所述差异模块文件中的源代码替换为嵌入式代码,从而进一步缩小了所述简化编译文件的大小,并且由于所述嵌入式代码本身就是在嵌入式端运行的,因此也不会影响在嵌入式端的编译过程。此外由于不需要在嵌入式端进行源代码与嵌入式代码的转换,因此也进一步提高了嵌入式端完成增量编译的效率。
其中,在所述按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件的步骤之前包括:
步骤B10,判断所述增量编译文件中是否存在非编译内容,其中所述非编译内容包括注释、空格、回车中的至少一种;
步骤B20,若所述增量编译文件中存在非编译内容,则将所述增量编译文件中非编译内容删去,并将删去非编译内容的增量编译文件作为新的增量编译文件。
在本实施例中,需要说明的是,为了便于编程人员阅读和理解源代码,所述增量编译文件通常会包含注释以便于编程人员理解源代码,还会包含空格和回车以便于编程人员阅读源代码。
作为一种示例,步骤A10至步骤A20包括:判断所述增量编译文件中是否存在非编译内容,其中所述非编译内容包括注释、空格、回车中的至少一种;若所述增量编译文件中存在非编译内容,则将所述增量编译文件中非编译内容删去,并将删去非编译内容的增量编译文件作为新的增量编译文件。从而可以进一步减小最终得到的简化编译文件的大小。若所述增量编译文件中不存在非编译内容,则可以直接执行步骤:按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件。
本申请实施例相比于现有技术中把增量编译后所产生的所有中间存储文件通过固件的形式下载到嵌入式端进行编译的方式,可减少对嵌入式端的存储空间的占用;此外由于发送至嵌入式端的简化编译文件的文件大小被缩小,也提高了文件传输速率,降低了编译过程的时间损耗。
本申请实施例提供了一种增量编译方法,相比于现有技术中把增量编译后所产生的所有中间存储文件通过固件的形式下载到嵌入式端进行编译的方式,本申请在获取嵌入式端的增量编译文件,对所述增量编译文件进行简化(如删除重复模块文件、将源代码替换成嵌入式端简写的嵌入式代码等简化方式)获得简化编译文件。然后将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。由此,发送至嵌入式端的简化编译文件的文件大小被缩小,从而可以减少对嵌入式端存储空间的占用,此外还可以提高文件传输速率,降低了编译过程的时间损耗。因此解决了现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。
实施例二
参照图4,图4为本申请增量编译方法第二实施例的流程示意图。
本申请实施例提供一种增量编译方法,在本申请增量编译方法的第二实施例,应用于嵌入式端,所述增量编译方法包括:
步骤S40,接收源端发送的简化编译文件;
步骤S50,将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
步骤S60,基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
在本实施例中,所述第二操作系统可以是μClinux、FreeRTOS、QNX等嵌入式操作系统。由于简化编译文件所处的操作系统与嵌入式端的操作系统并不相同,因此两者的文件格式也不相同,为了嵌入式端可以识别所述简化编译文件,则需要对所述简化编译文件进行格式转换。
作为一种示例,步骤S40至步骤S60包括:在所述嵌入式端接收源端发送的简化编译文件之后,将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件,再基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
其中,所述将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件的步骤包括:
步骤C10,基于所述简化编译文件所处的第三操作系统,确定目标文件格式,并获取所述目标文件格式下所述嵌入式端的当前模块文件;
步骤C20,将所述当前模块文件和所述简化编译文件进行合并,获得合并编译文件,并将所述合并编译文件的文件格式转换为所述嵌入式端的第二操作系统对应的执行文件格式,获得所述执行编译文件。
作为一种示例,步骤C10至步骤C20包括:所述嵌入式端基于所述简化编译文件所处的第三操作系统,确定目标文件格式,并获取所述目标文件格式下所述嵌入式端的当前模块文件。然后将所述当前模块文件和所述简化编译文件进行合并,获得合并编译文件,从而保证了合并编译文件中各文件格式的一致。然后再将所述合并编译文件的文件格式转换为所述嵌入式端的第二操作系统对应的执行文件格式,获得所述执行编译文件。其中,所述执行文件格式为所述嵌入式端的第二操作系统可识别的文件格式。
本实施例中,在所述嵌入式端接收源端发送的简化编译文件之后,将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件,以保证所述将不同操作系统下的简化编译文件的文件格式均转换为所述嵌入式端的操作系统下的文件格式。进而基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
实施例三
本申请还提供一种增量编译系统,所述增量编译系统包括:源端和嵌入式端;
所述源端,用于获取嵌入式端的增量编译文件;
还用于对所述增量编译文件进行简化,获得简化编译文件;
还用于将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译;
所述嵌入式端,用于接收源端发送的简化编译文件;
还用于将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
还用于基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
可选地,所述源端,还用于:
按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件,并确定各所述增量模块文件的第一标识;
获取嵌入式端的当前模块文件的第二标识;
从所述增量模块文件中删除所述第一标识与所述第二标识一致的增量模块文件,获得差异模块文件;
确定所述差异模块文件对应的简化编译文件。
可选地,所述源端,还用于:
获取所述嵌入式端的设备型号,并确定所述设备信号对应的预设嵌入式型号对照表;
根据所述预设嵌入式型号对照表,将所述差异模块文件中的源代码替换为嵌入式代码,获得所述差异模块文件对应的简化编译文件。
可选地,所述源端,还用于:
判断所述增量编译文件中是否存在非编译内容,其中所述非编译内容包括注释、空格、回车中的至少一种;
若所述增量编译文件中存在非编译内容,则将所述增量编译文件中非编译内容删去,并将删去非编译内容的增量编译文件作为新的增量编译文件。
可选地,所述源端,还用于:
根据所述增量编译文件所处的第一操作系统,将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件,并执行步骤:对所述增量编译文件进行简化,获得简化编译文件。
可选地,所述嵌入式端,还用于:
接收源端发送的简化编译文件;
将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
可选地,所述嵌入式端,还用于:
基于所述简化编译文件所处的第三操作系统,确定目标文件格式,并获取所述目标文件格式下所述嵌入式端的当前模块文件;
将所述当前模块文件和所述简化编译文件进行合并,获得合并编译文件,并将所述合并编译文件的文件格式转换为所述嵌入式端的第二操作系统对应的执行文件格式,获得所述执行编译文件。
本申请提供的增量编译系统,采用上述实施例中的增量编译方法,解决了现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。与现有技术相比,本申请实施例提供的增量编译系统的有益效果与上述实施例提供的增量编译方法的有益效果相同,且该增量编译系统中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
实施例四
本申请实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的增量编译方法。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下系统可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本申请提供的电子设备,采用上述实施例中的增量编译方法,解决了现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。与现有技术相比,本申请实施例提供的电子设备的有益效果与上述实施例一提供的增量编译方法的有益效果相同,且该电子设备中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
实施例五
本实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的增量编译的方法。
本申请实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取嵌入式端的增量编译文件;对所述增量编译文件进行简化,获得简化编译文件;将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本申请提供的计算机可读存储介质,存储有用于执行上述增量编译方法的计算机可读程序指令,解决了现有增量编译方法会大量占用嵌入式端的存储空间的技术问题。与现有技术相比,本申请实施例提供的计算机可读存储介质的有益效果与上述实施例提供的增量编译方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (10)
1.一种增量编译方法,其特征在于,应用于源端,所述增量编译方法包括:
获取嵌入式端的增量编译文件;
对所述增量编译文件进行简化,获得简化编译文件;
将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译。
2.如权利要求1所述增量编译方法,其特征在于,所述对所述增量编译文件进行简化,获得简化编译文件的步骤包括:
按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件,并确定各所述增量模块文件的第一标识;
获取嵌入式端的当前模块文件的第二标识;
从所述增量模块文件中删除所述第一标识与所述第二标识一致的增量模块文件,获得差异模块文件;
确定所述差异模块文件对应的简化编译文件。
3.如权利要求2所述增量编译方法,其特征在于,所述确定所述差异模块文件对应的简化编译文件的步骤包括:
获取所述嵌入式端的设备型号,并确定所述设备信号对应的预设嵌入式型号对照表;
根据所述预设嵌入式型号对照表,将所述差异模块文件中的源代码替换为嵌入式代码,获得所述差异模块文件对应的简化编译文件。
4.如权利要求2所述增量编译方法,其特征在于,在所述按照所述增量编译文件的增量项目,将所述增量编译文件划分为对应的增量模块文件的步骤之前包括:
判断所述增量编译文件中是否存在非编译内容,其中所述非编译内容包括注释、空格、回车中的至少一种;
若所述增量编译文件中存在非编译内容,则将所述增量编译文件中非编译内容删去,并将删去非编译内容的增量编译文件作为新的增量编译文件。
5.如权利要求1所述增量编译方法,其特征在于,所述增量编译文件包括不同操作系统下编译的增量编译文件,在所述对所述增量编译文件进行简化,获得简化编译文件的步骤之前,所述增量编译方法还包括:
根据所述增量编译文件所处的第一操作系统,将所述增量编译文件划分为各所述第一操作系统对应的增量编译文件,并执行步骤:对所述增量编译文件进行简化,获得简化编译文件。
6.一种增量编译方法,应用于嵌入式端,其特征在于,所述增量编译方法包括:
接收源端发送的简化编译文件;
将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
7.如权利要求6所述增量编译方法,其特征在于,所述将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件的步骤包括:
基于所述简化编译文件所处的第三操作系统,确定目标文件格式,并获取所述目标文件格式下所述嵌入式端的当前模块文件;
将所述当前模块文件和所述简化编译文件进行合并,获得合并编译文件,并将所述合并编译文件的文件格式转换为所述嵌入式端的第二操作系统对应的执行文件格式,获得所述执行编译文件。
8.一种增量编译系统,其特征在于,所述增量编译系统包括:源端和嵌入式端;
所述源端,用于获取嵌入式端的增量编译文件;
还用于对所述增量编译文件进行简化,获得简化编译文件;
还用于将所述简化编译文件发送至嵌入式端,以使嵌入式端根据所述简化编译文件进行增量编译;
所述嵌入式端,用于接收源端发送的简化编译文件;
还用于将所述简化编译文件转换为所述嵌入式端的第二操作系统对应的执行编译文件;
还用于基于所述执行编译文件生成对应的可执行程序,并运行所述可执行程序,完成增量编译。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的增量编译方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有实现增量编译方法的程序,所述实现增量编译方法的程序被处理器执行以实现如权利要求1至7中任一项所述增量编译方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211217007.XA CN115857937A (zh) | 2022-09-30 | 2022-09-30 | 增量编译方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211217007.XA CN115857937A (zh) | 2022-09-30 | 2022-09-30 | 增量编译方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857937A true CN115857937A (zh) | 2023-03-28 |
Family
ID=85661290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211217007.XA Pending CN115857937A (zh) | 2022-09-30 | 2022-09-30 | 增量编译方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115857937A (zh) |
-
2022
- 2022-09-30 CN CN202211217007.XA patent/CN115857937A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367516B (zh) | 应用界面生成方法、装置及电子设备 | |
CN109976793B (zh) | 一种应用程序的运行方法、装置、设备和介质 | |
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN110960855B (zh) | 一种通信协议代码更新方法、装置、电子设备及存储介质 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN111290737B (zh) | 用于应用程序开发的方法、装置及电子设备 | |
CN112395253B (zh) | 索引文件生成方法、终端设备、电子设备及介质 | |
CN110377289A (zh) | 一种数据解析方法、装置、介质和电子设备 | |
CN111338944B (zh) | 远程过程调用rpc接口测试方法、装置、介质及设备 | |
CN110781658B (zh) | 简历解析方法、装置、电子设备和存储介质 | |
CN109657249B (zh) | 应用程序的文本自动替换方法、装置及电子设备 | |
CN111857720B (zh) | 用户界面状态信息的生成方法、装置、电子设备及介质 | |
CN111897827B (zh) | 用于数据仓库的数据更新方法、系统及电子设备 | |
CN113127000B (zh) | 应用程序组件的编译方法、装置、设备及存储介质 | |
CN117632132A (zh) | 代码生成方法、装置、电子设备及计算机可读存储介质 | |
CN110442419B (zh) | Android应用的界面布局方法及装置 | |
CN114968260A (zh) | 混合预编译方法、装置、电子设备及存储介质 | |
CN115857937A (zh) | 增量编译方法、系统、电子设备及存储介质 | |
CN111399902B (zh) | 客户端源文件处理方法、装置、可读介质与电子设备 | |
CN111324336B (zh) | 实现依赖注入的方法、装置、终端和存储介质 | |
CN112688863B (zh) | 网关数据处理方法、装置及电子设备 | |
CN110908711A (zh) | 应用程序的控件开发方法、装置及电子设备 | |
CN115658276B (zh) | 业务开发方法、装置、电子设备及可读存储介质 | |
CN114116517B (zh) | 前端项目分析方法、装置、介质及电子设备 | |
CN115827415B (zh) | 系统进程性能测试方法、装置、设备和计算机介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |