[发明专利]一种代码编译方法、主机及系统有效
申请号: | 201110149093.0 | 申请日: | 2011-06-03 |
公开(公告)号: | CN102193812A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 朱吕亮;姚炳标 | 申请(专利权)人: | 深圳市茁壮网络股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518002 广东省深圳市罗湖区沿河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 编译 方法 主机 系统 | ||
技术领域
本申请涉及电数字数据处理技术领域,特别是涉及一种代码编译方法、主机及系统。
背景技术
在软件的开发过程中,需要研发人员对软件代码进行不断的修改、完善,还需要测试人员对软件代码进行测试,所以在软件的最终产品发布前,其通常为对软件代码进行修改、测试这样一个迭代过程。对于一些大型的软件,由于其源代码较多,在编译测试的过程中,会消耗较多的开发时间,尤其是在嵌入式软件开发过程中,还需要使用交叉编译环境,所以耗时更多。编译作为软件开发过程中一个必不可少的环节,如果编译过程耗时较多,那么将会影响到整个软件的开发效率,延长了软件的开发周期,并且增加了软件的开发成本。
目前通常采用编译服务器来替代原始的人工编译方式,但采用编译服务器进行编译时,只是将每次编译过程中的命令写成脚本,放到一台专门的编译服务器上自动执行编译过程,这虽然可以使得编译环节自动化,减少了相邻两次编译过程之间的时间,但并未减少编译本身消耗的时间。另外,由于编译服务器通常为单主机编译服务器,在编译过程中,当多个测试人员同时向编译服务器请求编译时,编译服务器将同时运行多个编译任务,导致编译性能降低,还会使得编译时间增加,所以现有的采用单主机编译服务器进行编译无法满足软件开发的需要。
因此如何提高编译速度,减少编译消耗时间成为当前软件开发过程中亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供一种代码编译方法、主机及系统,该方法将与待编译代码分解成多个模块代码,并采用分布式编译方式对多个模块代码分别进行编译,使得多个模块代码可以同时进行编译,提高了待编译代码的编译速度,减少了编译消耗时间。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种代码编译方法,包括:
将待编译代码分解成多个模块代码;
指示多个编译分机中每一个编译分机分别获取一个模块代码并编译成可执行子文件;
当所述待编译代码所对应的所有模块代码均编译成可执行子文件后,从所述多个编译分机中选取一个编译分机,并控制该编译分机将与所有模块代码相对应的可执行子文件链接成可执行文件。
优选地,链接成可执行文件之后,该方法进一步包括:
向用户发送所述可执行文件的存储地址。
优选地,将待编译代码按照与其相对应软件的模块分解成多个模块代码,包括:
接收用户输入的多个编译请求并依次存储,所述编译请求中携带有待编译代码的信息;
查询所有编译请求的状态,获取状态为未编译的编译请求;
按照与待编译代码相对应软件的功能模块将所述未编译的编译请求分解成多个编译子请求并存储,每个编译子请求对应一个模块代码。
优选地,指示多个编译分机中每一个编译分机分别获取一个模块代码并编译成可执行子文件,包括:
查询编译子请求的状态,并获取状态为未编译的编译子请求的标识;
将获取的所述编译子请求的标识分别发送给多个编译分机中的每一个编译分机;
指示每一个编译分机依据获取与其分配的编译子请求的标识相对应的编译子请求;
控制每个编译分机下载与其获取的编译子请求相对应的模块代码并编译成可执行子文件。
优选地,从所述多个编译分机中选取一个编译分机,并控制该编译分机将与所有模块代码相对应的可执行子文件链接成可执行文件,包括:
获取从多个编译分机中选取一个空闲状态的编译分机;
获取编译请求中所有编译子请求均编译成功的编译请求的标识,并将获取的编译请求的标识发送给该编译分机;
控制该编译分机下载与获取的编译请求标识中所有编译子请求相对应的多个可执行子文件并链接成可执行文件并存储。
一种代码编译主机,包括:
代码分解单元,用于将待编译代码分解成多个模块代码;
编译控制单元,用于生成指示多个编译分机中每一个编译分机分别获取一个模块代码并编译成可执行子文件的编译指令,且将所述编译指令发给每一编译分机;
编译成功确定单元,用于判断所述待编译代码中所有模块代码是否均编译成功;
编译分机选取单元,用于从所述多个编译分机中选取一个编译分机;
链接控制单元,用于当所有模块代码均编译成功时,生成控制所选取的编译分机将与所有模块代码相对应的可执行子文件并链接成可执行文件的链接指令,且将所述链接指令发送给所选取的编译分机。
优选地,该编译主机还包括:
输出单元,用于向用户发送可执行子文件的存储地址。
优选地,所述代码分解单元包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市茁壮网络股份有限公司,未经深圳市茁壮网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110149093.0/2.html,转载请声明来源钻瓜专利网。