CN103927213A - 一种文件编译方法及编译装置 - Google Patents
一种文件编译方法及编译装置 Download PDFInfo
- Publication number
- CN103927213A CN103927213A CN201410158968.7A CN201410158968A CN103927213A CN 103927213 A CN103927213 A CN 103927213A CN 201410158968 A CN201410158968 A CN 201410158968A CN 103927213 A CN103927213 A CN 103927213A
- Authority
- CN
- China
- Prior art keywords
- file
- compiling
- equations
- platform
- compilation
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明实施例公开了一种文件编译方法及编译装置,能够在同一个平台编译不同类型的文件。所述文件编译方法包括:对编译平台能够直接调用的第一类文件进行编译;通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。所述文件编译装置包括:第一编译单元,用于对编译平台能够直接调用的第一类文件进行编译;第二编译单元,用于通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。本发明适用于在编译平台进行文件编译。
Description
技术领域
本发明涉及编译平台应用技术领域,尤其涉及一种文件编译方法及编译装置。
背景技术
现有技术中,现有编译平台例如VS2005(Visual Studio2005的简称),不能同时调用VS2005文件及apk文件的源文件进行编译,只能调用所述VS2005文件进行编译,即只能调用***.sln文件,并且输出的文件是windows平台的可执行文件。如果改造所述编译平台执行编译所述apk文件的源文件,就需要对所述编译平台进行大量改造和集成,这样,成本太高。
发明内容
有鉴于此,本发明实施例提供一种文件编译方法及编译装置,能够在同一个平台编译不同类型的文件。
一方面,本发明实施例提供一种文件编译方法,包括:
对编译平台能够直接调用的第一类文件进行编译;
通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。
可选地,所述通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译包括:在所述第一类文件编译结束时,调用批处理文件;通过所述批处理文件执行脚本文件;通过所述脚本文件调用触发文件;通过所述触发文件对所述第二类文件进行编译。
可选地,在通过所述脚本文件调用触发文件之前包括:通过所述脚本文件获取所述第二类文件中需要编译的内容;对所述第二类文件的版本号进行修改,并将所述修改后的第二类文件自动提交入代码版本管理系统。
可选地,在通过所述触发文件对所述第二类文件进行编译之后包括:根据配置,将编译后的所述第二类文件拷贝至相应的路径下。
可选地,所述第一类文件是基于windows操作系统的应用程序的源文件;所述第二类文件是基于安卓操作系统的应用程序的源文件。
可选地,所述脚本文件为Python脚本文件;所述触发文件为ant编译工具。
本发明实施例所述文件编译方法,对编译平台能够直接调用的第一类文件进行编译,通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译,这样,既不影响其它流程也不需要修改所述编译平台的配置和代码,能够对所述第一类文件进行编译,并能够启动对第二类文件的编译,从而能够在同一个平台编译不同类型的文件。
另一方面本发明实施例提供一种文件编译装置,包括:
第一编译单元,用于对编译平台能够直接调用的所述第一类文件进行编译;
第二编译单元,用于通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。
可选地,所述第二编译单元包括:第一调用模块,用于当在所述第一类文件编译结束时,调用批处理文件;执行模块,用于通过所述批处理文件执行脚本文件;第二调用模块,用于通过所述脚本文件调用编译模块;编译模块,用于对所述第二类文件进行编译。
可选地,所述执行模块包括:获取子模块,用于通过所述脚本文件获取所述第二类文件中需要编译的内容;修改子模块,用于对所述第二类文件的版本号进行修改;自动提交子模块,用于将所述修改后的第二类文件自动提交入代码版本管理系统。
可选地,所述第二编译单元还包括:拷贝模块,用于根据配置,将经过编译后的所述第二类文件拷贝至相应的路径下。
可选地,所述第一类文件是基于windows操作系统的应用程序的源文件;所述第二类文件是基于安卓操作系统的应用程序的源文件。
可选地,所述脚本文件为Python脚本文件;所述触发文件为ant编译工具。
本发明实施例所述文件编译装置,由第一编译单元对编译平台能够直接调用的所述第一类文件进行编译,由第二编译单元通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译,这样,既不影响其它流程也不需要修改所述编译平台的配置和代码,能够对所述第一类文件进行编译,并能够启动对第二类文件的编译,从而能够在同一个平台编译不同类型的文件。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的文件编译方法一实施例的流程示意图;
图2为本发明的文件编译装置一实施例的结构示意图;
图3为本发明的文件编译装置另一实施例的结构示意图;
图4为本发明的文件编译装置又一实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例一种文件编译方法及编译装置进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参看图1所示,本发明文件编译方法的具体实施方式,包括:
S1、对编译平台能够直接调用的第一类文件进行编译;
S2、通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。
本发明实施例所述的文件编译方法,对编译平台能够直接调用的第一类文件进行编译,然后通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译,这样,既不影响其它流程也不需要修改所述编译平台的配置和代码,能够对所述第一类文件进行编译,并能够启动对第二类文件的编译,从而能够在同一个平台编译不同类型的文件,并且简化了编译流程。
在前述文件编译方法的具体实施方式中,可选地,所述通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译(S2)包括:在所述第一类文件编译结束时,调用批处理文件;通过所述批处理文件执行脚本文件;通过所述脚本文件调用触发文件;通过所述触发文件对所述第二类文件进行编译,从而在同一个平台完成了对所述第二类文件的编译,简化了编译流程,提高了工作效率。
在前述文件编译方法的具体实施方式中,可选地,在通过所述脚本文件调用触发文件之前包括:通过所述脚本文件获取所述第二类文件中需要编译的内容;对所述第二类文件的版本号进行修改,并将所述修改后的第二类文件自动提交入代码版本管理系统,从而便于版本的管理以及对应关联文件的查找。
在前述文件编译方法的具体实施方式中,可选地,在通过所述触发文件对所述第二类文件进行编译之后包括:根据配置,将编译后的所述第二类文件拷贝至相应的路径下。这样,编译出的文件可以在所述编译平台上输出到统一的同一个目录下,并可以直接进行打包操作,从而,便于统一管理编译出的文件,方便工程师处理、测试,简化了发布流程,大大的提高团队的工作效率。
在前述文件编译方法的具体实施方式中,可选地,所述第一类文件是基于windows操作系统的应用程序的源文件;所述第二类文件是基于安卓操作系统的应用程序的源文件。本实施例中,所述编译平台例如Visual Studio、EmbeddedVisual C++、Platform Builder等windows平台应用程序的开发环境,不能直接调用所述基于安卓操作系统的应用程序的源文件。
在前述文件编译方法的具体实施方式中,可选地,所述脚本文件为Python脚本文件;所述触发文件为ant编译工具。本实施例中,通过所述批处理文件运行所述Python脚本文件,然后通过所述Python脚本文件调用所述ant编译工具,并对所述基于安卓操作系统的应用程序的源文件进行编译,从而让安卓工程师也能够通过所述编译平台例如Visual Studio,编译出需要的安卓系统安装包。
参看图2所示,本发明实施例还提供一种文件编译装置,包括:第一编译单元1,用于对编译平台能够直接调用的所述第一类文件进行编译;第二编译单元2,用于通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。
本发明实施例所述文件编译装置,由第一编译单元1对编译平台能够直接调用的所述第一类文件进行编译,由第二编译单元2通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译,这样,既不影响其它流程也不需要修改所述编译平台的配置和代码,能够对所述第一类文件进行编译,并能够启动对第二类文件的编译,从而能够在同一个平台编译不同类型的文件,并且简化了编译流程。
参看图3所示,在前述文件编译装置的具体实施方式中,可选地,所述第二编译单元2包括:第一调用模块21,用于当在所述第一类文件编译结束时,调用批处理文件;执行模块22,用于通过所述批处理文件执行脚本文件;第二调用模块23,用于通过所述脚本文件调用编译模块;编译模块24,用于对所述第二类文件进行编译,从而在同一个平台完成了对所述第二类文件的编译,简化了编译流程,提高了工作效率。
参看图4所示,在前述文件编译装置的具体实施方式中,可选地,所述执行模块22包括:获取子模块221,用于通过所述脚本文件获取所述第二类文件中需要编译的内容;修改子模块222,用于对所述第二类文件的版本号进行修改;自动提交子模块223,用于将所述修改后的第二类文件自动提交入代码版本管理系统,从而便于版本的管理以及对应关联文件的查找。
在前述文件编译装置的具体实施方式中,可选地,所述第二编译单元2还包括:拷贝模块25,用于根据配置,将经过编译后的所述第二类文件拷贝至相应的路径下。这样,编译出的文件可以在所述编译平台上输出到统一的同一个目录下,并可以直接进行打包操作,从而,便于统一管理编译出的文件,方便工程师处理,测试,简化了发布流程,大大的提高团队的工作效率。
在前述文件编译装置的具体实施方式中,可选地,所述第一类文件是基于windows操作系统的应用程序的源文件;所述第二类文件是基于安卓操作系统的应用程序的源文件。本实施例中,所述例如Visual Studio、Embedded VisualC++、Platform Builder等windows平台应用程序的开发环境,不能直接调用所述基于安卓操作系统的应用程序的源文件。
在前述文件编译装置的具体实施方式中,可选地,所述脚本文件为Python脚本文件;所述触发文件为ant编译工具。本实施例中,通过所述批处理文件运行所述Python脚本文件,然后通过所述Python脚本文件调用所述ant编译工具,并对所述基于安卓操作系统的应用程序的源文件进行编译,从而让安卓工程师也能够通过所述编译平台例如Visual Studio,编译出需要的安卓系统安装包。
本发明上述各实施例中,Apk文件是基于安卓操作系统的安装包,是可执行文件。批处理文件,是windows平台下一种可以批量调用其他可执行文件的脚本文件。Python脚本,是一种简单的可以快速完成逻辑的脚本语言。SVN(Subversion的简称,代码版本管理系统),是用于记录工程代码的工具。Ant编译工具是一种编译脚本,是用于处理编译的工具。
本发明上述各实施例中,所述编译平台并不限于Visual Studio、EmbeddedVisual C++、Platform Builder等windows平台应用程序的开发环境;所述第一类文件也不限于基于windows操作系统的应用程序的源文件;所述第二类文件也不限于基于安卓操作系统的应用程序的源文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种文件编译方法,其特征在于,包括:
对编译平台能够直接调用的第一类文件进行编译;
通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。
2.根据权利要求1所述的文件编译方法,其特征在于,所述通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译包括:
在所述第一类文件编译结束时,调用批处理文件;
通过所述批处理文件执行脚本文件;
通过所述脚本文件调用触发文件;
通过所述触发文件对所述第二类文件进行编译。
3.根据权利要求2所述的文件编译方法,其特征在于,在通过所述脚本文件调用触发文件之前包括:
通过所述脚本文件获取所述第二类文件中需要编译的内容;
对所述第二类文件的版本号进行修改,并将所述修改后的第二类文件自动提交入代码版本管理系统。
4.根据权利要求2所述的文件编译方法,其特征在于,在通过所述触发文件对所述第二类文件进行编译之后包括:
根据配置,将编译后的所述第二类文件拷贝至相应的路径下。
5.根据权利要求1-4任一项所述的文件编译方法,其特征在于,
所述第一类文件是基于windows操作系统的应用程序的源文件;
所述第二类文件是基于安卓操作系统的应用程序的源文件。
6.根据权利要求2-4任一项所述的文件编译方法,其特征在于,所述脚本文件为Python脚本文件;
所述触发文件为ant编译工具。
7.一种文件编译装置,其特征在于,包括:
第一编译单元,用于对编译平台能够直接调用的第一类文件进行编译;
第二编译单元,用于通过所述第一类文件的编译启动所述编译平台不能直接调用的第二类文件的编译。
8.根据权利要求7所述的文件编译装置,其特征在于,所述第二编译单元包括:
第一调用模块,用于当在所述第一类文件编译结束时,调用批处理文件;
执行模块,用于通过所述批处理文件执行脚本文件;
第二调用模块,用于通过所述脚本文件调用编译模块;
编译模块,用于对所述第二类文件进行编译。
9.根据权利要求8所述的文件编译装置,其特征在于,所述执行模块包括:
获取子模块,用于通过所述脚本文件获取所述第二类文件中需要编译的内容;
修改子模块,用于对所述第二类文件的版本号进行修改;
自动提交子模块,用于将所述修改后的第二类文件自动提交入代码版本管理系统。
10.根据权利要求8所述的文件编译装置,其特征在于,所述第二编译单元还包括:
拷贝模块,用于根据配置,将经过编译后的所述第二类文件拷贝至相应的路径下。
11.根据权利要求7-10任一项所述的文件编译装置,其特征在于,
所述第一类文件是基于windows操作系统的应用程序的源文件;
所述第二类文件是基于安卓操作系统的应用程序的源文件。
12.根据权利要求8-10任一项所述的文件编译装置,其特征在于,所述脚本文件为Python脚本文件;
所述触发文件为ant编译工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410158968.7A CN103927213B (zh) | 2014-04-18 | 2014-04-18 | 一种文件编译方法及编译装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410158968.7A CN103927213B (zh) | 2014-04-18 | 2014-04-18 | 一种文件编译方法及编译装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103927213A true CN103927213A (zh) | 2014-07-16 |
CN103927213B CN103927213B (zh) | 2017-08-25 |
Family
ID=51145442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410158968.7A Expired - Fee Related CN103927213B (zh) | 2014-04-18 | 2014-04-18 | 一种文件编译方法及编译装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927213B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462393A (zh) * | 2014-12-10 | 2015-03-25 | 北京国双科技有限公司 | 用于编译的文件路径的确定方法及装置 |
CN105138387A (zh) * | 2015-08-31 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 一种软件的编译方法、装置及系统 |
CN105630569A (zh) * | 2015-12-17 | 2016-06-01 | 北京金山安全软件有限公司 | 一种软件源代码的处理方法、装置及电子设备 |
WO2021168711A1 (zh) * | 2020-02-26 | 2021-09-02 | 深圳市大疆创新科技有限公司 | 编译控制方法、编译控制装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667134A (zh) * | 2009-09-23 | 2010-03-10 | 中兴通讯股份有限公司 | 一种构建编译系统的方法、一种编译系统及其构建装置 |
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
CN102541727A (zh) * | 2010-12-17 | 2012-07-04 | 无锡江南计算技术研究所 | 一种程序调试方法及系统 |
-
2014
- 2014-04-18 CN CN201410158968.7A patent/CN103927213B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667134A (zh) * | 2009-09-23 | 2010-03-10 | 中兴通讯股份有限公司 | 一种构建编译系统的方法、一种编译系统及其构建装置 |
CN102541727A (zh) * | 2010-12-17 | 2012-07-04 | 无锡江南计算技术研究所 | 一种程序调试方法及系统 |
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462393A (zh) * | 2014-12-10 | 2015-03-25 | 北京国双科技有限公司 | 用于编译的文件路径的确定方法及装置 |
CN105138387A (zh) * | 2015-08-31 | 2015-12-09 | 惠州Tcl移动通信有限公司 | 一种软件的编译方法、装置及系统 |
CN105630569A (zh) * | 2015-12-17 | 2016-06-01 | 北京金山安全软件有限公司 | 一种软件源代码的处理方法、装置及电子设备 |
WO2021168711A1 (zh) * | 2020-02-26 | 2021-09-02 | 深圳市大疆创新科技有限公司 | 编译控制方法、编译控制装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103927213B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377290B (zh) | 一种目标工程编译的方法、装置及设备 | |
CN105630557B (zh) | 热补丁方法和装置 | |
CN102289378B (zh) | 自动生成应用程序的方法 | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
US20140096110A1 (en) | Managing a set of software modules in a software runtime environment | |
WO2016177124A1 (zh) | 一种实现持续集成测试的方法及装置 | |
CN103927213A (zh) | 一种文件编译方法及编译装置 | |
CN103440156B (zh) | 一种能用于多种系统下的Linux软件包制作方法 | |
CN103412816A (zh) | 一种基于linux的持续集成测试平台搭建方法 | |
US10248409B1 (en) | Limiting the effects of source code patches on corresponding native-code patches | |
CN103645920A (zh) | 一种嵌入式系统程序烧录方法及系统 | |
CN105159738A (zh) | 一种热补丁实现方法及系统 | |
EP2503457A4 (en) | LOADING AND DEBUGGING METHOD AND DEBUGGING SYSTEM THEREOF | |
CN104915209A (zh) | 一种linux内核跟踪调试与修复问题的方法 | |
CN109614107B (zh) | 一种软件开发工具包的集成方法和装置 | |
CN109032687B (zh) | 屏蔽sdk危险调用的方法及装置 | |
CN104142846A (zh) | 一种程序脚本编译方法和装置 | |
CN107179982B (zh) | 一种跨进程调试方法和装置 | |
US10445074B2 (en) | Method of optimally compiling PLC command | |
CN103645905A (zh) | 一种增量数据获取方法及装置 | |
CN107273750B (zh) | Android设备内核漏洞的修补系统及方法 | |
CN103885784A (zh) | 具有安全模块可插拔功能的Android平台构建方法 | |
Do et al. | Cheetah: just-in-time taint analysis for android apps | |
EP3956793A1 (en) | Source modification engine | |
WO2022222626A1 (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 | ||
CB02 | Change of applicant information |
Address after: 510623 unit 01-B, Guangzhou bank building, No. 30 Zhujiang Road, Guangzhou, Guangdong, Tianhe District, China Applicant after: Guangzhou cheetah Network Technology Co.,Ltd. Address before: 510623 unit 01-B, Guangzhou bank building, No. 30 Zhujiang Road, Guangzhou, Guangdong, Tianhe District, China Applicant before: GUANGZHOU KINGSOFT NETWORK TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170825 |
|
CF01 | Termination of patent right due to non-payment of annual fee |