zoukankan      html  css  js  c++  java
  • 减小编译时间的两种做法

    作者:朱金灿

    来源: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

     

     





  • 相关阅读:
    C# 基于正则表达式的字符串验证
    Matlab 曲线绘制之线型和颜色 示例
    色彩学基础知识
    Matlab 常用绘图指令(二维图形)
    让机器教人学习更有效:Becoming the Expert
    基于直接最小二乘的椭圆拟合(Direct Least Squares Fitting of Ellipses)
    一维最大熵二值化方法
    基于模板的全自动目标检测跟踪系统的设想
    纽扣检测及其旋转角度
    指针式压力表自动读数:Auto Read the Value of Manometer
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470912.html
Copyright © 2011-2022 走看看