减小编译时间的两种做法

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

随着源码工程越来越庞大,花在编译上面的时间越来越多。我们开始研究如何减少编译时间。

 

一是执行每日自动构建。每日自动构建的原理很简单:安装每日构建工具CCNET(不熟悉该工具的同学可以去搜索下)。然后在源码服务器上安装编译环境。源码服务器每天获取最新代码,每天下班后开始编译最新代码,经过一个晚上基本上就能把库和应用程序都编好,到了第二天开发人员只需下载最新的库文件和代码文件而不须自己重新编译。这样就能大大节省时间了。

 

二是使用联合编译器IncrediBuild。这个工具估计大家都不陌生。最近试验了一个新想法,写一个批处理文件,将SVN和IncrediBuild绑在一起,实现了从源码更新到工程编译。

这个批处理文件是这样的:

@echo off

::update code to local
svn up include
svn up src 
svn up vs

:: call IncrediBuild to compile project
BuildConsole D:\Code\MySolution.sln /prj="MyApp" /build /OpenMonitor /cfg=" Debug |Win32"

 

这里稍微解释这个批处理文件的命令语法:

svn up include   // 更新服务器的include文件夹到本地

BuildConsole D:\Code\MySolution.sln /prj="MyApp"/build /OpenMonitor /cfg=" Debug |Win32"

BuildConsole是IncrediBuild的命令行工具,

D:\Code\MySolution.sln是你的解决方案文件绝对路径,

/prj参数设置你要编译的工程,如果你要编译多个工程,可以这样设置,/prj="prj1,prj2,prj3",

/prj参数也支持通配符,/prj="*"即为编译MySolution.sln下的所有工程

/build为编译工程,若改为/rebuild即是清理重编工程。

/OpenMonitor为打开IncrediBuild的图形化界面,去掉该参数则不出现图形界面。

/cfg为编译设置选项,如要编release版本,可以改为Release|Win32。

 

     把上面的代码保存为BuildDebug.bat,把文件保存在D:\Code\路径下(即源码根目录,下面有include、src和vs三个文件夹),然后运行这个批处理文件就相当于把从更新源码到编译源码这一系列动作都执行了。

 

参考文献:

1. svn的使用

2. 批处理脚本之——IncrediBuild

 

 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clever101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值