CN104346150B - 多实例业务的可执行文件的生成方法和装置 - Google Patents
多实例业务的可执行文件的生成方法和装置 Download PDFInfo
- Publication number
- CN104346150B CN104346150B CN201310325803.XA CN201310325803A CN104346150B CN 104346150 B CN104346150 B CN 104346150B CN 201310325803 A CN201310325803 A CN 201310325803A CN 104346150 B CN104346150 B CN 104346150B
- Authority
- CN
- China
- Prior art keywords
- file
- traffics
- many example
- business information
- file destination
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
- G06F9/44542—Retargetable
- G06F9/44547—Fat binaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Abstract
本发明涉及一种多实例业务的可执行文件的生成方法和装置。该方法包括:对多实例业务对应的源文件进行编译得到第一类目标文件,所述多实例业务包括N个实例,N为大于等于2的自然数;对所述第一类目标文件进行N‑1次镜像拷贝,得到N‑1个新的第一类目标文件;对所述第一类目标文件、N‑1个新的第一类目标文件进行链接,生成可执行文件。本发明通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种多实例业务的可执行文件的生成方法和装置。
背景技术
随着通信技术的飞速发展,以及人们对通信设备的要求越来越高,目前出现了双卡双待终端以及多卡多待终端,双卡双待终端是指一个终端中能设置两张用户识别卡,如用户识别模块(User Identity Module,UIM)卡、或全球客户识别模块(UniversalSubscriber Identity Module,USIM)卡、或客户识别模块(Subscriber Identity Module,SIM)卡,并且两张用户识别卡都处于待机状态,多卡多待终端就是在双卡双待终端的基础上继续增加用户识别卡,并且这些用户识别卡能同时待机。
在现有技术下,需要重新开发一套支持多卡多待终端的用户识别卡的功能的软件源代码来支持多卡多待终端中用户识别卡的工作。现有技术的缺点是,(1)软件开发固有的开发周期长,代码开发出来后,代码中缺陷无法快速收敛,不能快速地得到满足客户需求的产品软件;(2)在已有的支持单卡单待终端的用户识别卡功能的软件源代码基础上,再开发一套多卡多待的源代码,两套产品的代码无法合并,因此需要维护两套代码,代码维护难度加大,维护成本高。这种问题不仅限于存在于多卡多待终端的代码维护中,也在其他多实例的软件应用中存在。
发明内容
本发明实施例提供了一种多实例业务的可执行文件的生成方法和装置,以降低软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
第一方面,本发明实施例提供了一种多实例业务的可执行文件的生成方法,所述方法包括:
对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数;
对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件;
对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
在第一种可能的实现方式中,所述对所述第一类目标文件进行N-1次镜像拷贝具体为:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:对单实例业务对应的源文件进行编译得到第二类目标文件;所述对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件包括:对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
结合第一方面或者第一方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述对多实例业务对应的源文件进行编译得到第一类目标文件之前还包括:接收用户输入的业务信息;对所述业务信息进行分析,得到所述多实例业务。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述源文件为多卡多待终端的通信软件对应的源文件;所述接收用户输入的业务信息包括:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;所述对所述业务信息进行分析,得到所述多实例业务包括:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述源文件为多卡终端的用户识别卡管理软件对应的源文件;所述接收用户输入的业务信息包括:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;所述对所述业务信息进行分析,得到所述多实例业务包括:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件;所述接收用户输入的业务信息包括:接收所述多摄像头终端的摄像头驱动信息;所述对业务信息进行分析,得到所述多实例业务包括:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
第二方面,本发明实施例提供了一种多实例业务的可执行文件的生成装置,所述装置包括:
编译单元,用于对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数,将所述第一类目标文件传输至镜像单元;
镜像单元,用于接收所述编译单元传输的所述第一类目标文件,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件,将所述第一类目标文件和所述N-1个新的第一类目标文件传输至链接单元;
链接单元,用于接收所述镜像单元传输的所述第一类目标文件和所述N-1个新的第一类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
在第一种可能的实现方式中,所述镜像单元具体用于:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述编译单元还用于:对单实例业务对应的源文件进行编译得到第二类目标文件,将所述第二类目标文件传输至所述链接单元;所述链接单元具体用于:接收所述编译单元传输的所述第二类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
结合第二方面或者第二方面的第一种、第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括接收单元、分析单元,所述接收单元,用于接收用户输入的业务信息,将所述业务信息传输至分析单元;所述分析单元,用于接收所述接收单元传输的所述业务信息,对所述业务信息进行分析,得到所述多实例业务。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述源文件为多卡多待终端的通信软件对应的源文件;所述接收单元具体用于:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;所述分析单元具体用于:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述源文件为多卡终端的用户识别卡管理软件对应的源文件;所述接收单元具体用于:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;所述分析单元具体用于:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
结合第二方面的第三种可能的实现方式,在第六种可能的实现方式中,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件;所述接收单元具体用于:接收所述多摄像头终端的摄像头驱动信息;所述分析单元具体用于:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
本发明实施例提供的多实例业务的可执行文件的生成方法和装置,通过对多实例业务对应的源文件进行编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。本发明实施例中,多实例业务是指应用于多个场景的业务,例如,多卡多待终端的通信软件(Modem Software),在多张卡都支持全球移动通讯系统(Global System of Mobile communication,GSM)网络时,GSM就是一种需要多份实例,GSM业务就是一种应用于多个场景的多实例业务。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
附图说明
图1为本发明实施例提供的一种多实例业务的可执行文件的生成方法流程图;
图2为本发明实施例提供的一种多实例业务的可执行文件的生成方法示意图;
图3为本发明实施例提供的另一多实例业务的可执行文件的生成方法示意图;
图4为本发明实施例提供的一种多实例业务的可执行文件的生成装置示意图;
图5为本发明实施例提供的一种终端示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先对本实施例中涉及的一些用词进行解释说明。实例是一种软件程序,被用来模拟现实世界中存在的、具体的或具有某类原型的东西,是一种软件模拟程序。源文件是指用汇编语言和高级语言写出来的代码文件。目标文件是指源文件经过编译程序产生的能被CPU直接识别二进制代码。链接(link),主要是指解析未定义的符号引用,将目标文件中的占位符替换为符号的地址,并完成程序中各目标文件的地址空间的组织。
图1为本发明实施例提供的一种多实例业务的可执行文件的生成方法流程图,该实施例的执行主体是终端,其中详细描述了终端接收到用户的业务场景输入后,按照业务场景对源文件进行编译、镜像、链接以生成可执行文件的方法。如图1所示,该实施例包括以下步骤:
步骤101,对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数。
终端,一般是指计算机(Personal Computer,PC),终端在进行可执行文件的生成时,首先需要判断要生成的可执行文件所要应用的场景,即在生成可执行文件之前,首先需要接收用户输入的业务场景,例如,该可执行文件应用于多摄像头终端的摄像头驱动,以及具有相同摄像头驱动型号的场景;或者该可执行文件应用于多卡多待终端的多待支持,其中主卡支持GSM网络和通用移动通信系统(Universal Mobile TelecommunicationsSystem,UMTS)网络,两个从卡支持GSM网络的场景。当然,本发明实施例提供的技术方案并不局限于一张主卡两张从卡的多卡多待终端,这只是本发明实施例的一种举例而已。例如,双卡双待也可认为是一种特殊的多卡多待。
其中,当终端接收到用户输入的可执行文件所应用的业务场景之后,在进行源文件编译之前,可以首先根据业务场景对源文件进行分类,分别为多实例源文件和单实例源文件。例如,上面说到的多卡多待终端的多待支持业务场景,可以根据该业务场景,分析出该多待支持软件中的GSM网络支持需要三份实例,则GSM网络支持为多实例业务,对应的GSM网络支持的源文件为多实例源文件,而UMTS网络支持需要一份实例,则UMTS网络支持为单实例业务,对应的UMTS网络支持的源文件为单实例源文件。
在对可执行文件所应用的业务场景进行分析并且对源代码进行分类之后,即可对多实例业务对应的源文件进行编译得到第一类目标文件,另外,如果经过分析判断出还有单实例业务,则同时对单实例业务对应的源文件进行编译得到第二类目标文件。
步骤102,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件。
编译得到第一类目标文件之后,根据分析得到的多实例对应的场景个数,可对生成的第一类目标文件进行镜像拷贝,得到多个新的第一类目标文件。其中,镜像拷贝的方法可以为对第一类目标文件中的全局符号进行重命名处理,或者对第一类目标文件中的全局符号进行本地化处理。
步骤103,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
需要说明的是,如果根据可执行文件对应的业务场景进行分析后得出还有单实例业务,则在进行链接处理而生成可执行文件时,进行的链接处理是对第一类目标文件、N-1个新的第一类目标文件进行链接。
本发明实施例通过对多实例业务对应的源文件进行一次编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
本发明实施例中,可执行文件可以为多卡多待终端中的通信软件,也可以为多卡多待终端中的用户识别卡管理软件,还可以为多摄像头终端的摄像头驱动程序,每种可执行文件的生成都可以采用两种方法,一种是重命名的方法,一种是本地化的方法,下面分别介绍通过这两种生成可执行文件的方法。
图2为本发明实施例提供的一种多实例业务的可执行文件的生成方法示意图;其中,描述了通信软件的一种生成方法,具体如下:
步骤201,对源文件进行分类。
本实施例中,在对源文件进行分类之前,首先会接收到用户输入的业务信息,也即业务场景信息。对于可执行文件为通信软件的情况,接收用户输入的业务场景具体为:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息。
对于可执行文件为多卡终端的用户识别卡管理软件的情况,接收用户输入的业务场景具体为:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息。
对于可执行文件为多摄像头终端的摄像头驱动程序的情况,接收用户输入的业务场景具体为:接收多摄像头终端的摄像头驱动信息。
例如,业务场景为,主卡支持GSM网络和UMTS网络,两个从卡支持GSM网络的场景。
根据业务场景,可以对源文件进行分类,例如,上面说到的多卡多待终端的多待支持业务场景,可以根据该业务场景,分析出该多待支持软件中的GSM网络支持需要三份实例,则GSM网络支持为多实例业务,对应的GSM网络支持的源文件为多实例源文件,而UMTS网络支持需要一份实例,则UMTS网络支持为单实例业务,对应的UMTS网络支持的源文件为单实例源文件。
步骤202,对分类后的单实例源文件和多实例源文件分别进行编译。
对单实例源文件进行编译后得到单实例目标文件,对多实例源文件进行编译后得到多实例目标文件。
步骤203,对多实例目标文件通过重命名其中的全局符号实现镜像拷贝。
根据多实例业务对应的场景个数N,进行N-1次全局符号重命名,得到N-1个新的目标文件。例如,上面说到的多卡多待终端的多待支持业务场景中,多待支持软件中的GSM网络支持应用于主卡和两个从卡,即应用于三个场景,可以进行两次重命名的镜像拷贝,得到两个新的多实例目标文件。
需要说明的是,在多卡终端中,一般主卡所支持的业务包括所有从卡所支持的业务,因此也可以先对主卡所支持的业务的源代码进行编译,再分析主卡所支持的业务中多实例业务的个数以及对应的每个多实例业务的场景个数,从而进行后续的多实例业务的目标文件中全局符号的重命名。
步骤204,对所得到的各个目标文件进行链接处理。
对单实例目标文件,编译得到的多实例目标文件,镜像拷贝得到的多实例目标文件进行链接处理,得到可执行文件。
由此,本发明实施例通过重命名多实例目标文件中的全局符号的方法实现了可执行文件的生成,与现有技术相比,达到了降低软件源代码的开发成本和维护成本,缩短软件源代码的开发周期,快速收敛多实例源文件中的缺陷的效果。
本发明实施例还可以通过本地化的方法实现多实例业务的可执行文件的生成,图3为本发明实施例提供的另一多实例业务的可执行文件的生成方法示意图,如图所示,生成方法具体如下:
步骤301,对源文件进行分类。
本实施例中,在执行源文件的分类之前,首先可接收到可执行文件应用的业务信息,即业务场景信息。对于可执行文件为通信软件的情况,接收用户输入的业务场景具体为:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息。
对于可执行文件为多卡终端的用户识别卡管理软件的情况,接收用户输入的业务场景具体为:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息。
对于可执行文件为多摄像头终端的摄像头驱动程序的情况,接收用户输入的业务场景具体为:接收多摄像头终端的摄像头驱动信息。
例如,业务场景为,主卡支持GSM网络和UMTS网络,两个从卡支持GSM网络的场景。
根据业务场景,可以对源文件进行分类,例如,上面说到的多卡多待终端的多待支持业务场景,可以根据该业务场景,分析出该多待支持软件中的GSM网络支持需要三份实例,则GSM网络支持为多实例业务,对应的GSM网络支持的源文件为多实例源文件,而UMTS网络支持需要一份实例,则UMTS网络支持为单实例业务,对应的UMTS网络支持的源文件为单实例源文件。
步骤302,对分类后的单实例源文件和多实例源文件分别进行编译。
对单实例源文件进行编译后得到单实例目标文件,对多实例源文件进行编译后得到多实例目标文件。
步骤303,对多实例目标文件通过本地化其中的全局符号实现镜像拷贝。
根据多实例业务对应的场景个数N,进行N-1次全局符号本地化处理,得到N-1个新的目标文件。例如,上面说到的多卡多待终端的多待支持业务场景中,多待支持软件中的GSM网络支持应用于主卡和两个从卡,即应用于三个场景,可以进行两次本地化的镜像拷贝,得到两个新的多实例目标文件。
需要说明的是,在多卡终端中,一般主卡所支持的业务包括所有从卡所支持的业务,因此也可以先对主卡所支持的业务的源代码进行编译,再分析主卡所支持的业务中多实例业务的个数以及对应的每个多实例业务的场景个数,从而进行后续的多实例业务的目标文件的全局符号本地化。
步骤304,对所得到的各个目标文件进行链接处理。
对单实例目标文件,编译得到的多实例目标文件,镜像拷贝得到的多实例目标文件进行链接处理,得到可执行文件。
由此,本发明实施例通过本地化多实例目标文件中的全局符号的方法实现了可执行文件的生成,与现有技术相比,达到了降低软件源代码的开发成本和维护成本,缩短软件源代码的开发周期,快速收敛多实例源文件中的缺陷的效果。
相应地,本发明实施例还提供了一种多实例业务的可执行文件的生成装置,图4为本发明实施例提供的一种多实例业务的可执行文件的生成装置示意图,如图4所示,本实施例包括以下单元:
编译单元401,用于对多实例业务对应的源文件进行编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数,将所述第一类目标文件传输至镜像单元。
镜像单元402,用于接收所述编译单元传输的所述第一类目标文件,对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件,将所述第一类目标文件和所述N-1个新的第一类目标文件传输至链接单元。
镜像单元402具体用于:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
具体地,编译单元401编译得到第一类目标文件之后,根据分析得到的多实例对应的场景个数,可对生成的第一类目标文件进行镜像拷贝,得到多个新的第一类目标文件。其中,镜像拷贝的方法可以为对第一类目标文件中的全局符号进行重命名处理,或者对第一类目标文件中的全局符号进行本地化处理。
链接单元403,用于接收所述镜像单元传输的所述第一类目标文件和所述N-1个新的第一类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
需要说明的是,如果根据可执行文件对应的业务场景进行分析后得出还有单实例业务,则编译单元401还用于:对单实例业务对应的源文件进行编译得到第二类目标文件,所述单实例业务为应用于单一场景的业务,将所述第二类目标文件传输至所述链接单元;链接单元403具体用于:接收所述编译单元传输的所述第二类目标文件,对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
优选地,本发明实施例提供的装置还包括:接收单元404、分析单元405;接收单元404,用于接收用户输入的业务信息,将所述业务信息传输至分析单元;分析单元405,用于接收所述接收单元传输的所述业务信息,对所述业务信息进行分析,得到所述多实例业务。
优选地,如果存在单实例业务,则分析单元405在对业务信息进行分析时还可以同时得到单实例业务。
当源文件为多卡多待终端的通信软件对应的源文件时;接收单元404具体用于:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;分析单元405具体用于:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务以及对应的场景个数,如果存在单实例业务,则同时得到所述单实例业务。
当源文件为多卡终端的用户识别卡管理软件对应的源文件时;接收单元404具体用于:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;所述分析单元405具体用于:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务以及对应的场景个数,如果存在单实例业务,则同时得到所述单实例业务。
当源文件为多摄像头终端的摄像头驱动程序对应的源文件时;接收单元404具体用于:接收所述多摄像头终端的摄像头驱动信息;所述分析单元405具体用于:对所述多摄像头终端的驱动信息进行分析,得到多实例业务以及对应的多摄像头驱动个数,如果存在单实例业务,则同时得到所述单实例业务。
本发明实施例通过对多实例业务对应的源文件进行编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
相应地,本发明实施例提供了一种终端,该终端中包括本实施例包括网络接口501、处理器502和存储器503。系统总线504用于连接网络接口501、处理器502和存储器503。
网络接口501用于与可执行文件所应用的终端设备进行连接。
存储器503可以是永久存储器,例如硬盘驱动器和闪存,存储器503中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件模块被加载到存储器503中,然后被处理器502访问并执行如下指令:
对多实例业务对应的源文件进行编译得到第一类目标文件,所述多实例业务为应用于多个场景的业务;
对多实例业务对应的源文件进行一次编译得到第一类目标文件,所述多实例业务包括N个实例,其中,N为大于等于2的自然数;
对所述第一类目标文件进行N-1次镜像拷贝,得到N-1个新的第一类目标文件;
对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件。
进一步的,处理器502访问存储器503中的软件模块后,执行对所述第一类目标文件进行N-1次镜像拷贝过程的指令具体为:对所述第一类目标文件中的全局符号进行N-1次重命名处理,从而得到N-1个新的第一类目标文件;或者对所述第一类目标文件中的全局符号进行N-1次本地化处理,从而得到N-1个新的第一类目标文件。
进一步的,处理器502访问存储器503中的软件模块后,还将执行以下指令:所述方法还包括:对单实例业务对应的源文件进行编译得到第二类目标文件。
进一步的,处理器502访问存储器503中的软件模块后,执行对所述第一类目标文件、N-1个新的第一类目标文件进行链接,生成可执行文件过程的指令具体为:对所述第一类目标文件、N-1个新的第一类目标文件,以及所述第二类目标文件进行链接,生成所述可执行文件。
进一步的,处理器502在执行对多实例业务对应的源文件进行编译得到第一类目标文件之前还将访问存储器503中的软件模块,并执行以下指令:
接收用户输入的业务信息;
对所述业务信息进行分析,得到所述多实例业务。
当源文件为多卡多待终端的通信软件对应的源文件时;处理器502访问存储器503中的软件模块后,执行接收用户输入的业务信息过程的指令具体为:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;执行对所述业务信息进行分析,得到所述多实例业务指令具体为:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
当源文件为多卡终端的用户识别卡管理软件对应的源文件时;处理器502访问存储器503中的软件模块后,执行接收用户输入的业务信息过程的指令具体为:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;执行对所述业务信息进行分析,得到所述多实例业务过程的指令具体为:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
当源文件为多摄像头终端的摄像头驱动程序对应的源文件时;处理器502访问存储器503中的软件模块后,执行接收用户输入的业务信息过程的指令具体为:接收所述多摄像头终端的摄像头驱动信息;执行对所述业务信息进行分析,得到所述多实例业务过程的指令具体为:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
本发明实施例通过对多实例业务对应的源文件进行编译得到目标文件,然后对该目标文件进行多次镜像处理,得到多个新的目标文件,并且链接所生成的目标文件即可得到可执行文件。由此,本发明实施例实现了对多实例业务的源代码进行一次编译,并且通过对编译得到的目标文件进行镜像以及链接处理而生成可执行文件,降低了软件源代码的开发成本和维护成本,缩短了软件源代码的开发周期。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
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或2所述的多实例业务的可执行文件的生成方法,其特征在于,所述对多实例业务对应的源文件进行编译得到第一类目标文件之前还包括:
接收用户输入的业务信息;
对所述业务信息进行分析,得到所述多实例业务。
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或9所述的多实例业务的可执行文件的生成装置,其特征在于,所述装置还包括接收单元、分析单元:
所述接收单元,用于接收用户输入的业务信息,将所述业务信息传输至分析单元;
所述分析单元,用于接收所述接收单元传输的所述业务信息,对所述业务信息进行分析,得到所述多实例业务。
12.根据权利要求11所述的多实例业务的可执行文件的生成装置,其特征在于,所述源文件为多卡多待终端的通信软件对应的源文件;
所述接收单元具体用于:接收所述多卡多待终端的主用户识别卡的支持业务信息,以及从用户识别卡的支持业务信息;
所述分析单元具体用于:对所述主用户识别卡的支持业务信息和从用户识别卡的支持业务信息进行分析,得到多实例业务。
13.根据权利要求11所述的多实例业务的可执行文件的生成装置,其特征在于,所述源文件为多卡终端的用户识别卡管理软件对应的源文件;
所述接收单元具体用于:接收所述多卡终端的主用户识别卡的业务信息,以及从用户识别卡的业务信息;
所述分析单元具体用于:对所述主用户识别卡的业务信息和从用户识别卡的业务信息进行分析,得到多实例业务。
14.根据权利要求11所述的多实例业务的可执行文件的生成装置,其特征在于,所述源文件为多摄像头终端的摄像头驱动程序对应的源文件;
所述接收单元具体用于:接收所述多摄像头终端的摄像头驱动信息;
所述分析单元具体用于:对所述多摄像头终端的驱动信息进行分析,得到多实例业务。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310325803.XA CN104346150B (zh) | 2013-07-30 | 2013-07-30 | 多实例业务的可执行文件的生成方法和装置 |
US14/341,337 US9575780B2 (en) | 2013-07-30 | 2014-07-25 | Method and apparatus for generating executable file or multi-instance service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310325803.XA CN104346150B (zh) | 2013-07-30 | 2013-07-30 | 多实例业务的可执行文件的生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104346150A CN104346150A (zh) | 2015-02-11 |
CN104346150B true CN104346150B (zh) | 2017-10-17 |
Family
ID=52428909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310325803.XA Active CN104346150B (zh) | 2013-07-30 | 2013-07-30 | 多实例业务的可执行文件的生成方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9575780B2 (zh) |
CN (1) | CN104346150B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346150B (zh) * | 2013-07-30 | 2017-10-17 | 华为技术有限公司 | 多实例业务的可执行文件的生成方法和装置 |
US10133560B2 (en) * | 2016-09-22 | 2018-11-20 | Qualcomm Innovation Center, Inc. | Link time program optimization in presence of a linker script |
US10108406B2 (en) * | 2016-10-24 | 2018-10-23 | International Business Machines Corporation | Linking optimized entry points for local-use-only function pointers |
CN108021792B (zh) * | 2017-12-04 | 2021-05-28 | 北京元心科技有限公司 | 镜像软件的生成方法、装置及相应终端 |
CN110597772A (zh) * | 2019-08-21 | 2019-12-20 | 福建天泉教育科技有限公司 | 一种多实例文件处理方法及终端 |
CN111857808B (zh) * | 2020-06-22 | 2022-04-26 | 烽火通信科技股份有限公司 | 一种符号的重命名方法和重命名装置 |
CN113286090B (zh) * | 2021-06-07 | 2023-07-18 | 经纬恒润(天津)研究开发有限公司 | 摄像头多驱动动态配置方法、加载方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298479B1 (en) * | 1998-05-29 | 2001-10-02 | Sun Microsystems, Inc. | Method and system for compiling and linking source files |
CN1862492A (zh) * | 2005-05-12 | 2006-11-15 | 施乐公司 | 可执行代码拷贝的唯一标识的创建方法及其管理 |
CN101401103B (zh) * | 2006-06-09 | 2012-04-18 | 国际商业机器公司 | 用于跨越多个处理器的安全启动的系统和方法 |
CN102455907A (zh) * | 2010-11-02 | 2012-05-16 | 上海晨兴希姆通电子科技有限公司 | 多卡手机应用软件设计方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437710B2 (en) * | 2001-07-02 | 2008-10-14 | Bea Systems, Inc. | Annotation based development platform for stateful web services |
CA2355989A1 (en) * | 2001-08-27 | 2003-02-27 | Ibm Canada Limited-Ibm Canada Limitee | Compiling source code files having multiple |
US7958163B2 (en) * | 2003-08-05 | 2011-06-07 | Intraware, Inc. | System and method for bulk transfer of digital goods |
US20080209400A1 (en) * | 2007-02-27 | 2008-08-28 | Kevin Christopher Parker | Approach for versioning of services and service contracts |
US10015267B2 (en) * | 2008-09-02 | 2018-07-03 | Constantin Staykoff | Generic multichannel center for network applications and services |
US8694975B2 (en) * | 2008-09-09 | 2014-04-08 | Nec Corporation | Programming system in multi-core environment, and method and program of the same |
US8578355B1 (en) * | 2010-03-19 | 2013-11-05 | Google Inc. | Scenario based optimization |
WO2011130869A1 (en) * | 2010-04-19 | 2011-10-27 | Hewlett-Packard Development Company, L.P. | Object linking based on determined linker order |
US20110276950A1 (en) * | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Name binding extensibility for typed programming language |
US8566792B2 (en) * | 2010-05-07 | 2013-10-22 | Salesforce, Inc. | Validating visual components |
US9383985B2 (en) * | 2011-06-10 | 2016-07-05 | Unisys Corporation | Automated modification of pre-generated MSI packaged applications |
US8856745B2 (en) * | 2012-08-01 | 2014-10-07 | Oracle International Corporation | System and method for using a shared standard expectation computation library to implement compliance tests with annotation based standard |
CN104346150B (zh) * | 2013-07-30 | 2017-10-17 | 华为技术有限公司 | 多实例业务的可执行文件的生成方法和装置 |
US9753710B2 (en) * | 2013-11-07 | 2017-09-05 | Netronome Systems, Inc. | Resource allocation with hierarchical scope |
-
2013
- 2013-07-30 CN CN201310325803.XA patent/CN104346150B/zh active Active
-
2014
- 2014-07-25 US US14/341,337 patent/US9575780B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298479B1 (en) * | 1998-05-29 | 2001-10-02 | Sun Microsystems, Inc. | Method and system for compiling and linking source files |
CN1862492A (zh) * | 2005-05-12 | 2006-11-15 | 施乐公司 | 可执行代码拷贝的唯一标识的创建方法及其管理 |
CN101401103B (zh) * | 2006-06-09 | 2012-04-18 | 国际商业机器公司 | 用于跨越多个处理器的安全启动的系统和方法 |
CN102455907A (zh) * | 2010-11-02 | 2012-05-16 | 上海晨兴希姆通电子科技有限公司 | 多卡手机应用软件设计方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150040109A1 (en) | 2015-02-05 |
US9575780B2 (en) | 2017-02-21 |
CN104346150A (zh) | 2015-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346150B (zh) | 多实例业务的可执行文件的生成方法和装置 | |
US8593175B2 (en) | Boolean logic in a state machine lattice | |
CN106990966A (zh) | 基于前端框架的移动端跨平台应用开发框架及开发方法 | |
CN104298534B (zh) | 基于Lua语言的编程方法和装置 | |
CN104391793B (zh) | 测试步骤及测试脚本生成方法及装置 | |
CN104050085A (zh) | 一种代码规范强制检查方法及系统 | |
CN106201890A (zh) | 一种应用的性能优化方法及服务器 | |
CN112214766A (zh) | 一种检测挖矿木马的方法、装置、电子装置和存储介质 | |
CN107590252A (zh) | 用于信息交互的方法及装置 | |
CN109828759A (zh) | 代码编译方法、装置、计算机装置及存储介质 | |
CN109408103A (zh) | 配置文件的设置方法、装置、设备及介质 | |
CN102542190B (zh) | 基于机器学习的程序识别方法及装置 | |
US20210232486A1 (en) | Synthesizing printf and scanf statements for generating debug messages in high-level synthesis (hls) code | |
WO2020245504A1 (en) | Method and system for integration testing | |
CN108008959A (zh) | 一种软件开发工具包sdk接入方法、系统及装置 | |
CN109359176A (zh) | 数据提取方法、装置、计算机设备和存储介质 | |
CN104866294B (zh) | 一种扩展Android软件功能的方法及装置 | |
CN109766089B (zh) | 基于动图的代码生成方法、装置、电子设备及存储介质 | |
CN107484191A (zh) | 通信控制方法及装置、计算机装置及可读存储介质 | |
CN103631983B (zh) | 一种战术数据报文模拟方法及系统 | |
CN109902309A (zh) | 翻译方法、装置、设备和存储介质 | |
KR102324352B1 (ko) | Ai 기반 프로그램 자동 생성 시스템 | |
CN109947407A (zh) | 一种数据获取方法及装置 | |
CN108897522A (zh) | 数据处理方法、数据处理装置以及电子设备 | |
CN105302473A (zh) | 一种安卓手机机身数据物理镜像提取的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |