減小編譯時間的兩種做法

來源:互聯網
上載者:User

作者:朱金燦

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

 

隨著源碼工程越來越龐大,花在編譯上面的時間越來越多。我們開始研究如何減少編譯時間。

 

一是執行每日自動構建。每日自動構建的原理很簡單:安裝每日構建工具CCNET(不熟悉該工具的同學可以去搜尋下)。然後在源碼伺服器上安裝編譯環境。源碼伺服器每天擷取最新代碼,每天下班後開始編譯最新代碼,經過一個晚上基本上就能把庫和應用程式都編好,到了第二天開發人員只需下載最新的庫檔案和代碼檔案而不須自己重新編譯。這樣就能大大節省時間了。

 

二是使用聯合編譯器IncrediBuild。這個工具估計大家都不陌生。最近實驗了一個新想法,寫一個批次檔,將SVN和IncrediBuild綁在一起,實現了從源碼更新到工程編譯。

這個批次檔是這樣的:

@echo off::update code to localsvn up includesvn up src svn up vs:: call IncrediBuild to compile projectBuildConsole 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

 

 





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.