多实例业务的可执行文件的生成方法和装置制造方法
【专利摘要】本发明涉及一种多实例业务的可执行文件的生成方法和装置。该方法包括:对多实例业务对应的源文件进行编译得到第一类目标文件,所述多实例业务包括N个实例,N为大于等于2的自然数;对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件;对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。本发明通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本。
【专利说明】多实例业务的可执行文件的生成方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种多实例业务的可执行文件的生成方法和
>J-U ρ?α装直。
【背景技术】
[0002]随着通信技术的飞速发展,以及人们对通信设备的要求越来越高,目前出现了双卡双待终端以及多卡多待终端,双卡双待终端是指一个终端中能设置两张用户识别卡,如用户识别模块(User Identity Module, UIM)卡、或全球客户识别模块(UniversalSubscriber Identity Module,USIM)卡、或客户识别模块(Subscriber Identity Module,SIM)卡,并且两张用户识别卡都处于待机状态,多卡多待终端就是在双卡双待终端的基础上继续增加用户识别卡,并且这些用户识别卡能同时待机。
[0003]在现有技术下,需要重新开发一套支持多卡多待终端的用户识别卡的功能的软件源代码来支持多卡多待终端中用户识别卡的工作。现有技术的缺点是,(I)软件开发固有的开发周期长,代码开发出来后,代码中缺陷无法快速收敛,不能快速地得到满足客户需求的产品软件;(2)在已有的支持单卡单待终端的用户识别卡功能的软件源代码基础上,再开发一套多卡多待的源代码,两套产品的代码无法合并,因此需要维护两套代码,代码维护难度加大,维护成本高。这种问题不仅限于存在于多卡多待终端的代码维护中,也在其他多实例的软件应用中存在。
【发明内容】
[0004]本发明实施例提供了一种多实例业务的可执行文件的生成方法和装置,以降低软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
[0005]第一方面,本发明实施例提供了一种多实例业务的可执行文件的生成方法,所述方法包括:
[0006]对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数;
[0007]对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件;
[0008]对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
[0009]在第一种可能的实现方式中,所述对所述第一类目标文件进行N-1次镜像拷贝具体为:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
[0010]结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:对单实例业务对应的源文件进行编译得到第二类目标文件;所述对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件包括:对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
[0011]结合第一方面或者第一方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述对多实例业务对应的源文件进行编译得到第一类目标文件之前还包括:接收用户输入的业务信息;对所述业务信息进行分析,得到所述多实例业务。
[0012]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述源文件为多卡多待终端的通信软件对应的源文件;所述接收用户输入的业务信息包括:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;所述对所述业务信息进行分析,得到所述多实例业务包括:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
[0013]结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述源文件为多卡终端的用户识别卡管理软件对应的源文件;所述接收用户输入的业务信息包括:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;所述对所述业务信息进行分析,得到所述多实例业务包括:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
[0014]结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件;所述接收用户输入的业务信息包括:接收所述多摄像头终端的摄像头驱动信息;所述对业务信息进行分析,得到所述多实例业务包括:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
[0015]第二方面,本发明实施例提供了一种多实例业务的可执行文件的生成装置,所述装置包括:
[0016]编译单元,用于对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数,将所述第一类目标文件传输至镜像单元;
[0017]镜像单元,用于接收所述编译单元传输的所述第一类目标文件,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件,将所述第一类目标文件和所述N-1个新的第一类目标文件传输至链接单元;
[0018]链接单元,用于接收所述镜像单元传输的所述第一类目标文件和所述N-1个新的第一类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
[0019]在第一种可能的实现方式中,所述镜像单元具体用于:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
[0020]结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述编译单元还用于:对单实例业务对应的源文件进行编译得到第二类目标文件,将所述第二类目标文件传输至所述链接单元;所述链接单元具体用于:接收所述编译单元传输的所述第二类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
[0021]结合第二方面或者第二方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括接收单元、分析单元,所述接收单元,用于接收用户输入的业务信息,将所述业务信息传输至分析单元;所述分析单元,用于接收所述接收单元传输的所述业务信息,对所述业务信息进行分析,得到所述多实例业务。
[0022]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述源文件为多卡多待终端的通信软件对应的源文件;所述接收单元具体用于:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;所述分析单元具体用于:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
[0023]结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述源文件为多卡终端的用户识别卡管理软件对应的源文件;所述接收单元具体用于:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;所述分析单元具体用于:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
[0024]结合第二方面的第三种可能的实现方式,在第六种可能的实现方式中,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件;所述接收单元具体用于:接收所述多摄像头终端的摄像头驱动信息;所述分析单元具体用于:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
[0025]本发明实施例提供的多实例业务的可执行文件的生成方法和装置,通过对多实例业务对应的源文件进行编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。本发明实施例中,多实例业务是指应用于多个场景的业务,例如,多卡多待终端的通信软件(Modem Software),在多张卡都支持全球移动通讯系统(Global System of Mobile communicat1n, GSM)网络时,GSM就是一种需要多份实例,GSM业务就是一种应用于多个场景的多实例业务。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
【专利附图】
【附图说明】
[0026]图1为本发明实施例提供的一种多实例业务的可执行文件的生成方法流程图;
[0027]图2为本发明实施例提供的一种多实例业务的可执行文件的生成方法示意图;
[0028]图3为本发明实施例提供的另一多实例业务的可执行文件的生成方法示意图;
[0029]图4为本发明实施例提供的一种多实例业务的可执行文件的生成装置示意图;
[0030]图5为本发明实施例提供的一种终端示意图。
【具体实施方式】
[0031]下面结合本发明实施例中的附图,对本发明实施例中的方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0032]首先对本实施例中涉及的一些用词进行解释说明。实例是一种软件程序,被用来模拟现实世界中存在的、具体的或具有某类原型的东西,是一种软件模拟程序。源文件是指用汇编语言和高级语言写出来的代码文件。目标文件是指源文件经过编译程序产生的能被(PU直接识别二进制代码。链接(link),主要是指解析未定义的符号引用,将目标文件中的占位符替换为符号的地址,并完成程序中各目标文件的地址空间的组织。
[0033]图1为本发明实施例提供的一种多实例业务的可执行文件的生成方法流程图,该实施例的执行主体是终端,其中详细描述了终端接收到用户的业务场景输入后,按照业务场景对源文件进行编译、镜像、链接以生成可执行文件的方法。如图1所示,该实施例包括以下步骤:
[0034]步骤101,对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数。
[0035]终端,一般是指计算机(Personal Computer, PC),终端在进行可执行文件的生成时,首先需要判断要生成的可执行文件所要应用的场景,即在生成可执行文件之前,首先需要接收用户输入的业务场景,例如,该可执行文件应用于多摄像头终端的摄像头驱动,以及具有相同摄像头驱动型号的场景;或者该可执行文件应用于多卡多待终端的多待支持,其中主卡支持GSM网络和通用移动通信系统(Universal Mobile Telecommunicat1nsSystem, UMTS)网络,两个从卡支持GSM网络的场景。当然,本发明实施例提供的技术方案并不局限于一张主卡两张从卡的多卡多待终端,这只是本发明实施例的一种举例而已。例如,双卡双待也可认为是一种特殊的多卡多待。
[0036]其中,当终端接收到用户输入的可执行文件所应用的业务场景之后,在进行源文件编译之前,可以首先根据业务场景对源文件进行分类,分别为多实例源文件和单实例源文件。例如,上面说到的多卡多待终端的多待支持业务场景,可以根据该业务场景,分析出该多待支持软件中的GSM网络支持需要三份实例,则GSM网络支持为多实例业务,对应的GSM网络支持的源文件为多实例源文件,而UMTS网络支持需要一份实例,则UMTS网络支持为单实例业务,对应的UMTS网络支持的源文件为单实例源文件。
[0037]在对可执行文件所应用的业务场景进行分析并且对源代码进行分类之后,即可对多实例业务对应的源文件进行编译得到第一类目标文件,另外,如果经过分析判断出还有单实例业务,则同时对单实例业务对应的源文件进行编译得到第二类目标文件。
[0038]步骤102,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件。
[0039]编译得到第一类目标文件之后,根据分析得到的多实例对应的场景个数,可对生成的第一类目标文件进行镜像拷贝,得到多个新的第一类目标文件。其中,镜像拷贝的方法可以为对第一类目标文件中的全局符号进行重命名处理,或者对第一类目标文件中的全局符号进行本地化处理。
[0040]步骤103,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
[0041]需要说明的是,如果根据可执行文件对应的业务场景进行分析后得出还有单实例业务,则在进行链接处理而生成可执行文件时,进行的链接处理是对第一类目标文件、N-1个新的第一类目标文件进行链接。
[0042]本发明实施例通过对多实例业务对应的源文件进行一次编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
[0043]本发明实施例中,可执行文件可以为多卡多待终端中的通信软件,也可以为多卡多待终端中的用户识别卡管理软件,还可以为多摄像头终端的摄像头驱动程序,每种可执行文件的生成都可以采用两种方法,一种是重命名的方法,一种是本地化的方法,下面分别介绍通过这两种生成可执行文件的方法。
[0044]图2为本发明实施例提供的一种多实例业务的可执行文件的生成方法示意图;其中,描述了通信软件的一种生成方法,具体如下:
[0045]步骤201,对源文件进行分类。
[0046]本实施例中,在对源文件进行分类之前,首先会接收到用户输入的业务信息,也即业务场景信息。对于可执行文件为通信软件的情况,接收用户输入的业务场景具体为:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息。
[0047]对于可执行文件为多卡终端的用户识别卡管理软件的情况,接收用户输入的业务场景具体为:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信肩、O
[0048]对于可执行文件为多摄像头终端的摄像头驱动程序的情况,接收用户输入的业务场景具体为:接收多摄像头终端的摄像头驱动信息。
[0049]例如,业务场景为,主卡支持GSM网络和UMTS网络,两个从卡支持GSM网络的场旦
-5^ O
[0050]根据业务场景,可以对源文件进行分类,例如,上面说到的多卡多待终端的多待支持业务场景,可以根据该业务场景,分析出该多待支持软件中的GSM网络支持需要三份实例,则GSM网络支持为多实例业务,对应的GSM网络支持的源文件为多实例源文件,而UMTS网络支持需要一份实例,则UMTS网络支持为单实例业务,对应的UMTS网络支持的源文件为单实例源文件。
[0051]步骤202,对分类后的单实例源文件和多实例源文件分别进行编译。
[0052]对单实例源文件进行编译后得到单实例目标文件,对多实例源文件进行编译后得到多实例目标文件。
[0053]步骤203,对多实例目标文件通过重命名其中的全局符号实现镜像拷贝。
[0054]根据多实例业务对应的场景个数N,进行N-1次全局符号重命名,得到N-1个新的目标文件。例如,上面说到的多卡多待终端的多待支持业务场景中,多待支持软件中的GSM网络支持应用于主卡和两个从卡,即应用于三个场景,可以进行两次重命名的镜像拷贝,得到两个新的多实例目标文件。
[0055]需要说明的是,在多卡终端中,一般主卡所支持的业务包括所有从卡所支持的业务,因此也可以先对主卡所支持的业务的源代码进行编译,再分析主卡所支持的业务中多实例业务的个数以及对应的每个多实例业务的场景个数,从而进行后续的多实例业务的目标文件中全局符号的重命名。
[0056]步骤204,对所得到的各个目标文件进行链接处理。
[0057]对单实例目标文件,编译得到的多实例目标文件,镜像拷贝得到的多实例目标文件进行链接处理,得到可执行文件。
[0058]由此,本发明实施例通过重命名多实例目标文件中的全局符号的方法实现了可执行文件的生成,与现有技术相比,达到了降低软件源代码的开发成本和维护成本,缩短软件源代码的开发周期,快速收敛多实例源文件中的缺陷的效果。
[0059]本发明实施例还可以通过本地化的方法实现多实例业务的可执行文件的生成,图3为本发明实施例提供的另一多实例业务的可执行文件的生成方法示意图,如图所示,生成方法具体如下:
[0060]步骤301,对源文件进行分类。
[0061 ] 本实施例中,在执行源文件的分类之前,首先可接收到可执行文件应用的业务信息,即业务场景信息。对于可执行文件为通信软件的情况,接收用户输入的业务场景具体为:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息。
[0062]对于可执行文件为多卡终端的用户识别卡管理软件的情况,接收用户输入的业务场景具体为:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信肩、O
[0063]对于可执行文件为多摄像头终端的摄像头驱动程序的情况,接收用户输入的业务场景具体为:接收多摄像头终端的摄像头驱动信息。
[0064]例如,业务场景为,主卡支持GSM网络和UMTS网络,两个从卡支持GSM网络的场旦
-5^ O
[0065]根据业务场景,可以对源文件进行分类,例如,上面说到的多卡多待终端的多待支持业务场景,可以根据该业务场景,分析出该多待支持软件中的GSM网络支持需要三份实例,则GSM网络支持为多实例业务,对应的GSM网络支持的源文件为多实例源文件,而UMTS网络支持需要一份实例,则UMTS网络支持为单实例业务,对应的UMTS网络支持的源文件为单实例源文件。
[0066]步骤302,对分类后的单实例源文件和多实例源文件分别进行编译。
[0067]对单实例源文件进行编译后得到单实例目标文件,对多实例源文件进行编译后得到多实例目标文件。
[0068]步骤303,对多实例目标文件通过本地化其中的全局符号实现镜像拷贝。
[0069]根据多实例业务对应的场景个数N,进行N-1次全局符号本地化处理,得到N-1个新的目标文件。例如,上面说到的多卡多待终端的多待支持业务场景中,多待支持软件中的GSM网络支持应用于主卡和两个从卡,即应用于三个场景,可以进行两次本地化的镜像拷贝,得到两个新的多实例目标文件。
[0070]需要说明的是,在多卡终端中,一般主卡所支持的业务包括所有从卡所支持的业务,因此也可以先对主卡所支持的业务的源代码进行编译,再分析主卡所支持的业务中多实例业务的个数以及对应的每个多实例业务的场景个数,从而进行后续的多实例业务的目标文件的全局符号本地化。
[0071]步骤304,对所得到的各个目标文件进行链接处理。
[0072]对单实例目标文件,编译得到的多实例目标文件,镜像拷贝得到的多实例目标文件进行链接处理,得到可执行文件。
[0073]由此,本发明实施例通过本地化多实例目标文件中的全局符号的方法实现了可执行文件的生成,与现有技术相比,达到了降低软件源代码的开发成本和维护成本,缩短软件源代码的开发周期,快速收敛多实例源文件中的缺陷的效果。
[0074]相应地,本发明实施例还提供了一种多实例业务的可执行文件的生成装置,图4为本发明实施例提供的一种多实例业务的可执行文件的生成装置示意图,如图4所示,本实施例包括以下单元:
[0075]编译单元401,用于对多实例业务对应的源文件进行编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数,将所述第一类目标文件传输至镜像单元。
[0076]镜像单元402,用于接收所述编译单元传输的所述第一类目标文件,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件,将所述第一类目标文件和所述N-1个新的第一类目标文件传输至链接单元。
[0077]镜像单元402具体用于:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
[0078]具体地,编译单元401编译得到第一类目标文件之后,根据分析得到的多实例对应的场景个数,可对生成的第一类目标文件进行镜像拷贝,得到多个新的第一类目标文件。其中,镜像拷贝的方法可以为对第一类目标文件中的全局符号进行重命名处理,或者对第一类目标文件中的全局符号进行本地化处理。
[0079]链接单元403,用于接收所述镜像单元传输的所述第一类目标文件和所述N-1个新的第一类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
[0080]需要说明的是,如果根据可执行文件对应的业务场景进行分析后得出还有单实例业务,则编译单元401还用于:对单实例业务对应的源文件进行编译得到第二类目标文件,所述单实例业务为应用于单一场景的业务,将所述第二类目标文件传输至所述链接单元;链接单元403具体用于:接收所述编译单元传输的所述第二类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
[0081]优选地,本发明实施例提供的装置还包括:接收单元404、分析单元405 ;接收单元404,用于接收用户输入的业务信息,将所述业务信息传输至分析单元;分析单元405,用于接收所述接收单元传输的所述业务信息,对所述业务信息进行分析,得到所述多实例业务。
[0082]优选地,如果存在单实例业务,则分析单元405在对业务信息进行分析时还可以同时得到单实例业务。
[0083]当源文件为多卡多待终端的通信软件对应的源文件时;接收单元404具体用于:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;分析单元405具体用于:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务以及对应的场景个数,如果存在单实例业务,则同时得到所述单实例业务。
[0084]当源文件为多卡终端的用户识别卡管理软件对应的源文件时;接收单元404具体用于:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;所述分析单元405具体用于:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务以及对应的场景个数,如果存在单实例业务,则同时得到所述单实例业务。
[0085]当源文件为多摄像头终端的摄像头驱动程序对应的源文件时;接收单元404具体用于:接收所述多摄像头终端的摄像头驱动信息;所述分析单元405具体用于:对所述多摄像头终端的驱动信息进行分析,得到多实例业务以及对应的多摄像头驱动个数,如果存在单实例业务,则同时得到所述单实例业务。
[0086]本发明实施例通过对多实例业务对应的源文件进行编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
[0087]相应地,本发明实施例提供了一种终端,该终端中包括本实施例包括网络接口501、处理器502和存储器503。系统总线504用于连接网络接口 501、处理器502和存储器503。
[0088]网络接口 501用于与可执行文件所应用的终端设备进行连接。
[0089]存储器503可以是永久存储器,例如硬盘驱动器和闪存,存储器503中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
[0090]在启动时,这些软件模块被加载到存储器503中,然后被处理器502访问并执行如下指令:
[0091]对多实例业务对应的源文件进行编译得到第一类目标文件,所述多实例业务为应用于多个场景的业务;
[0092]对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数;
[0093]对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件;
[0094]对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
[0095]进一步的,处理器502访问存储器503中的软件模块后,执行对所述第一类目标文件进行N-1次镜像拷贝过程的指令具体为:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
[0096]进一步的,处理器502访问存储器503中的软件模块后,还将执行以下指令:所述方法还包括:对单实例业务对应的源文件进行编译得到第二类目标文件。
[0097]进一步的,处理器502访问存储器503中的软件模块后,执行对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件过程的指令具体为:对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
[0098]进一步的,处理器502在执行对多实例业务对应的源文件进行编译得到第一类目标文件之前还将访问存储器503中的软件模块,并执行以下指令:
[0099]接收用户输入的业务信息;
[0100]对所述业务信息进行分析,得到所述多实例业务。
[0101]当源文件为多卡多待终端的通信软件对应的源文件时;处理器502访问存储器503中的软件模块后,执行接收用户输入的业务信息过程的指令具体为:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;执行对所述业务信息进行分析,得到所述多实例业务指令具体为:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
[0102]当源文件为多卡终端的用户识别卡管理软件对应的源文件时;处理器502访问存储器503中的软件模块后,执行接收用户输入的业务信息过程的指令具体为:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;执行对所述业务信息进行分析,得到所述多实例业务过程的指令具体为:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
[0103]当源文件为多摄像头终端的摄像头驱动程序对应的源文件时;处理器502访问存储器503中的软件模块后,执行接收用户输入的业务信息过程的指令具体为:接收所述多摄像头终端的摄像头驱动信息;执行对所述业务信息进行分析,得到所述多实例业务过程的指令具体为:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
[0104]本发明实施例通过对多实例业务对应的源文件进行编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
[0105]专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0106]结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0107]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种多实例业务的可执行文件的生成方法,其特征在于,所述方法包括: 对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数; 对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件; 对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
2.根据权利要求1所述的多实例业务的可执行文件的生成方法,其特征在于,所述对所述第一类目标文件进行N-1次镜像拷贝包括:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者 对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
3.根据权利要求1或2所述的多实例业务的可执行文件的生成方法,其特征在于,所述方法还包括:对单实例业务对应的源文件进行编译得到第二类目标文件; 所述对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件包括:对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
4.根据权利要求1-3任一项所述的多实例业务的可执行文件的生成方法,其特征在于,所述对多实例业务对应的源文件进行编译得到第一类目标文件之前还包括: 接收用户输入的业务信息; 对所述业务信息进行分析,得到所述多实例业务。
5.根据权利要求4所述的多实例业务的可执行文件的生成方法,其特征在于,所述源文件为多卡多待终端的通信软件对应的源文件; 所述接收用户输入的业务信息包括:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息; 所述对所述业务信息进行分析,得到所述多实例业务包括:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
6.根据权利要求4所述的多实例业务的可执行文件的生成方法,其特征在于,所述源文件为多卡终端的用户识别卡管理软件对应的源文件; 所述接收用户输入的业务信息包括:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息; 所述对所述业务信息进行分析,得到所述多实例业务包括:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
7.根据权利要求4所述的多实例业务的可执行文件的生成方法,其特征在于,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件; 所述接收用户输入的业务信息包括:接收所述多摄像头终端的摄像头驱动信息; 所述对业务信息进行分析,得到所述多实例业务包括:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
8.一种多实例业务的可执行文件的生成装置,其特征在于,所述装置包括: 编译单元,用于对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数,将所述第一类目标文件传输至镜像单元; 镜像单元,用于接收所述编译单元传输的所述第一类目标文件,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件,将所述第一类目标文件和所述N-1个新的第一类目标文件传输至链接单元; 链接单元,用于接收所述镜像单元传输的所述第一类目标文件和所述N-1个新的第一类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
9.根据权利要求8所述的多实例业务的可执行文件的生成装置,其特征在于,所述镜像单元具体用于:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者 对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
10.根据权利要求8或9所述的多实例业务的可执行文件的生成装置,其特征在于,所述编译单元还用于:对单实例业务对应的源文件进行编译得到第二类目标文件,将所述第二类目标文件传输至所述链接单元; 所述链接单元具体用于:接收所述编译单元传输的所述第二类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
11.根据权利要求8-10任一项所述的多实例业务的可执行文件的生成装置,其特征在于,所述装置还包括接收单元、分析单元: 所述接收单元,用于接收用户输入的业务信息,将所述业务信息传输至分析单元; 所述分析单元,用于接收所述接收单元传输的所述业务信息,对所述业务信息进行分析,得到所述多实例业务。
12.根据权利要求11所述的多实例业务的可执行文件的生成装置,其特征在于,所述源文件为多卡多待终端的通信软件对应的源文件; 所述接收单元具体用于:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息; 所述分析单元具体用于:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
13.根据权利要求11所述的多实例业务的可执行文件的生成装置,其特征在于,所述源文件为多卡终端的用户识别卡管理软件对应的源文件; 所述接收单元具体用于:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息; 所述分析单元具体用于:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
14.根据权利要求11所述的多实例业务的可执行文件的生成装置,其特征在于,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件; 所述接收单元具体用于:接收所述多摄像头终端的摄像头驱动信息; 所述分析单元具体用于:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
【文档编号】G06F9/44GK104346150SQ201310325803
【公开日】2015年2月11日 申请日期:2013年7月30日 优先权日:2013年7月30日
【发明者】刘恺, 潘时林, 夏苗方 申请人:华为技术有限公司