CN107066308A - 编译处理方法及装置 - Google Patents
编译处理方法及装置 Download PDFInfo
- Publication number
- CN107066308A CN107066308A CN201710257041.2A CN201710257041A CN107066308A CN 107066308 A CN107066308 A CN 107066308A CN 201710257041 A CN201710257041 A CN 201710257041A CN 107066308 A CN107066308 A CN 107066308A
- Authority
- CN
- China
- Prior art keywords
- code
- specified location
- appointment codes
- compiling
- system framework
- 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
Classifications
-
- 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/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明实施例提供了一种编译处理方法及装置。本发明实施例通过提取***框架中为至少两个项目共用的指定代码,并存储在***框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与***框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。因此,解决了现有技术中的已有功能代码复用性较差、维护困难和稳定性低的问题。
Description
【技术领域】
本发明涉及通信领域,尤其涉及一种编译处理方法及装置。
【背景技术】
当前,很多移动终端采用开源的安卓(Android)***,例如智能手机、平板电脑等。在安卓***中,Framework是安卓***的框架层,主要由java代码实现。
在软件项目开发中,不同的多个项目可能涉及Framework的同一个***软件功能。目前,这种情况下,每个项目都需要独立移植该***软件功能的代码,并且在移植的过程中,针对不同的项目可能需要对该***软件功能的代码作不同的修改。这样,不仅造成已有功能代码的大量重复移植,而且也使得代码不稳定,维护困难。
可见,现有技术中存在已有功能代码复用性较差、维护困难和稳定性低的问题。
【发明内容】
有鉴于此,本发明实施例提供了一种编译处理方法及装置,用以解决现有技术中的已有功能代码复用性较差、维护困难和稳定性低的问题。
第一方面,本发明实施例提供一种编译处理方法,所述方法包括:
提取***框架中为至少两个项目共用的指定代码;
将所述指定代码存储至所述***框架外的指定位置;
在指定项目编译所述指定代码时,编译所述指定位置中的代码。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在指定项目编译所述指定代码时,编译所述指定位置中的代码,包括:
在指定项目中的所述指定代码的编译路径为所述***框架中的位置时,将编译路由到所述指定位置。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在指定项目编译所述指定代码时,编译所述指定位置中的代码,包括:
在指定项目中未设置所述指定代码的编译路径时,将所述指定项目中所述指定代码的编译路径设置为所述指定位置。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
将所述指定位置配置为全局的代码仓库。
第二方面,本发明实施例提供一种编译处理装置,所述装置包括:
提取模块,用于提取***框架中为至少两个项目共用的指定代码;
存储模块,用于将所述指定代码存储至所述***框架外的指定位置;
编译模块,用于在指定项目编译所述指定代码时,编译所述指定位置中的代码。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述编译模块在用于在指定项目编译所述指定代码时,编译所述指定位置中的代码时,具体用于:
在指定项目中的所述指定代码的编译路径为所述***框架中的位置时,将编译路由到所述指定位置。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述编译模块在用于在指定项目编译所述指定代码时,编译所述指定位置中的代码时,具体用于:
在指定项目中未设置所述指定代码的编译路径时,将所述指定项目中所述指定代码的编译路径设置为所述指定位置。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
配置模块,用于将所述指定位置配置为全局的代码仓库。
本发明实施例具有以下有益效果:
本发明实施例,通过提取***框架中为至少两个项目共用的指定代码,并存储在***框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与***框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的编译处理方法的第一流程示例图。
图2为本发明实施例提供的编译处理方法的第二流程示例图。
图3为本发明实施例提供的编译处理方法的第三流程示例图。
图4为本发明实施例提供的编译处理方法的第四流程示例图。
图5为本发明实施例提供的编译处理装置的功能方块图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例一
本发明实施例提供了一种编译处理方法,该编译处理方法可以应用于手机、平板电脑等终端。该编译处理方法可以通过程序实现,该程序能够安装在手机、平板电脑等终端上。
图1为本发明实施例提供的编译处理方法的第一流程示例图。如图1所示,本实施例中,编译处理方法包括如下步骤:
S101,提取***框架中为至少两个项目共用的指定代码;
S102,将指定代码存储至***框架外的指定位置;
S103,在指定项目编译指定代码时,编译指定位置中的代码。
其中,指定代码为涉及***框架的代码。例如,指定代码可以为涉及***框架的***软件功能代码。指定代码的原始存储位置处于***框架中。
S101中,提取的指定代码包括两个条件,一个条件是该指定代码是***框架中的代码,另一个条件是指定代码是两个或多个项目共用的代码。
S102中,将***框架中的项目共用的指定代码存储至***框架外的指定位置,使得指定代码与***框架分离,成为***框架外的独立代码,实现了指定代码从***框架中的剥离。这样,在使用该指定代码的项目需要编译指定代码时,就可以直接编译指定位置中的代码,而不必再去编译***框架中的指定代码了。同时,***框架中的指定代码仍然存在,不对***框架造成影响。
S103中,在指定项目编译指定代码时,编译指定位置中的代码,实现了项目编译代码与***框架的分离。
由于指定位置保存的代码与***框架中的指定代码相同,因此编译指定位置的代码与编译***框架中的指定代码都能够实现指定代码的功能。例如,当指定代码为涉及***框架的***软件功能代码时,编译指定位置的代码与编译***框架中的指定代码都能够实现指定代码的***软件功能。并且,由于指定位置处于***框架之外,不属于***框架,还实现了编译代码与***框架的分离。
这样,将指定代码从***框架中剥离出来,放在***框架之外的指定位置,使得指定代码可以为不同的项目复用,并且能够避免各个项目对指定代码的重复移植,从而实现了代码的平台化复用,提升了代码的复用性。
再者,由于从***框架中剥离出来的指定代码不再与***框架相关,在修改时可以不用考虑对***框架的影响,并且每一次的修改对所有相关的项目都有效,而不必分别针对每个项目单独对代码进行修改,因此维护更加方便和容易。
而且,由于从***框架中剥离出来的代码独立于***框架,当***框架的其他部分改变时,不会对该独立的指定代码产生影响,这样就不需要对指定位置的指定代码进行适应性修改,因此提升了代码的稳定性能。
图1所示实施例,通过提取***框架中为至少两个项目共用的指定代码,并存储在***框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与***框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。
图2为本发明实施例提供的编译处理方法的第二流程示例图。如图2所示,本实施例中,编译处理方法包括如下步骤:
S201,提取***框架中为至少两个项目共用的指定代码;
S202,将指定代码存储至***框架外的指定位置;
S203,在指定项目中的指定代码的编译路径为***框架中的位置时,将编译路由到指定位置。
图2所示实施例,在指定项目中的指定代码的编译路径为***框架中的位置时,将编译路由到指定位置。这种情况针对已经将指定代码的编译路径设置为***框架中的位置的项目。对于已经将指定代码的编译路径设置为***框架中的位置的项目,在执行编译时,会首先根据设置的编译路径去找指定代码,此时,将编译路由到指定位置,就会在实际编译时仍然是对指定位置中存储的指定代码进行编译,从而实现了编译代码与***框架的分离,有助于提高代码的复用性和稳定性,并且降低了代码的维护难度,使得代码易于维护。
图3为本发明实施例提供的编译处理方法的第三流程示例图。如图3所示,本实施例中,编译处理方法包括如下步骤:
S301,提取***框架中为至少两个项目共用的指定代码;
S302,将指定代码存储至***框架外的指定位置;
S303,在指定项目中未设置指定代码的编译路径时,将指定项目中指定代码的编译路径设置为指定位置。
图3所示实施例,在指定项目中未设置指定代码的编译路径时,将指定项目中指定代码的编译路径设置为指定位置。这种情况针对还没有设置指定代码的编译路径的项目。此时,可以直接将指定代码的编译路径设置为指定位置。这样,在编译指定代码时,就直接对指定位置中的代码进行编译,而不需要去编译***框架中的指定代码了,从而实现了编译代码与***框架的分离,有助于提高代码的复用性和稳定性,并且降低了代码的维护难度,使得代码易于维护。
图4为本发明实施例提供的编译处理方法的第四流程示例图。如图4所示,本实施例中,编译处理方法包括如下步骤:
S401,提取***框架中为至少两个项目共用的指定代码;
S402,将指定代码存储至***框架外的指定位置;
S403,将指定位置配置为全局的代码仓库;
S404,在指定项目编译指定代码时,编译指定位置中的代码。
图4所示实施例中,通过步骤S403将指定位置配置为全局的代码仓库,使得各个项目都可以共用指定位置中的代码,这样,当***编译的时候就会直接对指定位置中的代码,从而实现了代码从***框架的剥离和代码复用。
本发明实施例的编译处理方法,通过提取***框架中为至少两个项目共用的指定代码,并存储在***框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与***框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。
实施例二
本发明实施例提供了一种编译处理装置,该编译处理装置能够实现前述实施例一中编译处理方法的各步骤。
图5为本发明实施例提供的编译处理装置的功能方块图。如图5所示,本实施例中,编译处理装置包括:
提取模块510,用于提取***框架中为至少两个项目共用的指定代码;
存储模块520,用于将指定代码存储至***框架外的指定位置;
编译模块530,用于在指定项目编译指定代码时,编译指定位置中的代码。
在一个具体的实现过程中,编译模块530在用于在指定项目编译指定代码时,编译指定位置中的代码时,具体用于:在指定项目中的指定代码的编译路径为***框架中的位置时,将编译路由到指定位置。
在一个具体的实现过程中,编译模块530在用于在指定项目编译指定代码时,编译指定位置中的代码时,具体用于:在指定项目中未设置指定代码的编译路径时,将指定项目中指定代码的编译路径设置为指定位置。
在一个具体的实现过程中,编译处理装置还可以包括:配置模块,用于将指定位置配置为全局的代码仓库。
由于本实施例中的编译处理装置能够执行前述实施例一中的编译处理方法,本实施例未详细描述的部分,可参考对前述实施例一中编译处理方法的相关说明。
本发明实施例的编译处理装置,通过提取***框架中为至少两个项目共用的指定代码,并存储在***框架外的指定位置,以及在指定项目编译指定代码时,编译指定位置中的代码,在保证相同编译效果的情况下,使项目共用的编译代码与***框架分离,从而使得各个项目都能够使用该分离代码,并且不需要针对不同的项目分别对代码进行修改,因此提升了已有功能代码的复用性和稳定性,并且使得代码的维护更加方便容易。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种编译处理方法,其特征在于,所述方法包括:
提取***框架中为至少两个项目共用的指定代码;
将所述指定代码存储至所述***框架外的指定位置;
在指定项目编译所述指定代码时,编译所述指定位置中的代码。
2.根据权利要求1所述的方法,其特征在于,在指定项目编译所述指定代码时,编译所述指定位置中的代码,包括:
在指定项目中的所述指定代码的编译路径为所述***框架中的位置时,将编译路由到所述指定位置。
3.根据权利要求1所述的方法,其特征在于,在指定项目编译所述指定代码时,编译所述指定位置中的代码,包括:
在指定项目中未设置所述指定代码的编译路径时,将所述指定项目中所述指定代码的编译路径设置为所述指定位置。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述指定位置配置为全局的代码仓库。
5.一种编译处理装置,其特征在于,所述装置包括:
提取模块,用于提取***框架中为至少两个项目共用的指定代码;
存储模块,用于将所述指定代码存储至所述***框架外的指定位置;
编译模块,用于在指定项目编译所述指定代码时,编译所述指定位置中的代码。
6.根据权利要求5所述的装置,其特征在于,所述编译模块在用于在指定项目编译所述指定代码时,编译所述指定位置中的代码时,具体用于:
在指定项目中的所述指定代码的编译路径为所述***框架中的位置时,将编译路由到所述指定位置。
7.根据权利要求5所述的装置,其特征在于,所述编译模块在用于在指定项目编译所述指定代码时,编译所述指定位置中的代码时,具体用于:
在指定项目中未设置所述指定代码的编译路径时,将所述指定项目中所述指定代码的编译路径设置为所述指定位置。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
配置模块,用于将所述指定位置配置为全局的代码仓库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710257041.2A CN107066308A (zh) | 2017-04-19 | 2017-04-19 | 编译处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710257041.2A CN107066308A (zh) | 2017-04-19 | 2017-04-19 | 编译处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107066308A true CN107066308A (zh) | 2017-08-18 |
Family
ID=59600044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710257041.2A Pending CN107066308A (zh) | 2017-04-19 | 2017-04-19 | 编译处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066308A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130858A (zh) * | 2019-06-25 | 2020-12-25 | 深圳Tcl新技术有限公司 | 一种代码编译方法及编译服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783010A (zh) * | 2004-12-02 | 2006-06-07 | 国际商业机器公司 | 用于多存储器多处理***的程序代码大小划分***和方法 |
CN104220987A (zh) * | 2012-04-18 | 2014-12-17 | 国际商业机器公司 | 应用安装 |
CN106250200A (zh) * | 2016-08-02 | 2016-12-21 | 合肥奇也信息科技有限公司 | 一种用于计算机划分至少一个软件应用段的执行方法 |
-
2017
- 2017-04-19 CN CN201710257041.2A patent/CN107066308A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783010A (zh) * | 2004-12-02 | 2006-06-07 | 国际商业机器公司 | 用于多存储器多处理***的程序代码大小划分***和方法 |
CN104220987A (zh) * | 2012-04-18 | 2014-12-17 | 国际商业机器公司 | 应用安装 |
CN106250200A (zh) * | 2016-08-02 | 2016-12-21 | 合肥奇也信息科技有限公司 | 一种用于计算机划分至少一个软件应用段的执行方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112130858A (zh) * | 2019-06-25 | 2020-12-25 | 深圳Tcl新技术有限公司 | 一种代码编译方法及编译服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940428B (zh) | 芯片验证方法、装置及*** | |
CN107547746A (zh) | 资源配置方法及相关产品 | |
CN109886693B (zh) | 区块链***的共识实现方法、装置、设备和介质 | |
CN107589998A (zh) | 资源配置方法及相关产品 | |
CN107547745A (zh) | 资源配置方法及相关产品 | |
CN107894920A (zh) | 资源配置方法及相关产品 | |
CN106302574A (zh) | 一种业务可用性管理方法、装置及其网络功能虚拟化架构 | |
CN105045603A (zh) | 一种构建有限状态机模型框架的方法、装置及电子装置 | |
CN103580908A (zh) | 服务器的配置方法及*** | |
CN107450988A (zh) | 资源配置方法及相关产品 | |
US11016812B2 (en) | Method for resource allocation and terminal device | |
AU2729000A (en) | Database system | |
CN101383821B (zh) | 一种游戏业务安装包的更新方法和*** | |
CN107832141A (zh) | 应用程序运行控制方法及设备 | |
CN105681057A (zh) | 群头像更新方法及装置 | |
CN110780979A (zh) | 微服务框架下配置的控制方法及装置、介质和电子设备 | |
CN103414767A (zh) | 将应用软件部署在云计算平台上的方法和装置 | |
CN110263276A (zh) | 消息分发方法、装置、设备及存储介质 | |
CN111797173A (zh) | 联盟链共享***、方法、装置、电子设备及存储介质 | |
CN106385330A (zh) | 一种网络功能虚拟化编排器的实现方法及装置 | |
CN109348434A (zh) | 一种场景信息的发送方法、发送装置及终端设备 | |
CN107066308A (zh) | 编译处理方法及装置 | |
CN112351106B (zh) | 一种含事件网格的服务网格平台及其通信方法 | |
CN108667726B (zh) | 交易***和二级路由控制方法 | |
CN103051478A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170818 |
|
RJ01 | Rejection of invention patent application after publication |