最近編譯的項目都比較大,話說本身的電腦配置還行,但編譯所花的時間仍是很長,遇到須要從新編譯整個項目的時候真的有回宿舍睡一覺的衝動。昨天一不 當心被我發現了一款軟件Xoreax IncrediBuild 今天用了一下,實在是太爽了,我把咱們辦公室的機器都連了起來,其中還有一臺工做站,總共加起來22個CUP核,我試了一下實在是太拉風了。服務器
其實這款軟件已經推出好久了,只是以前接觸的項目都比較小,沒有在編譯時間上太在乎。下面就記錄一下Xoreax IncrediBuild的使用方式,我下載的是Xoreax IncrediBuild v4.0,其實它是VS的一款插件,支持VS20十、VS200八、VS2005,以前的Xoreax IncrediBuild版本支不支持這些本人沒作考究。多線程
如下引用自http://zhouruijun163.blog.163.com/blog/static/107715620119219580479/,文字表達稍有修改分佈式
加速編譯原理:工具
Xoreax IncrediBuild是分佈式編譯(多線程處理)工具,也稱之爲聯合編譯.若是局域網內存在多臺電腦安裝了這個軟件(不要求安裝VS),在編譯 C/C++時,它會查找局域網中空閒的CPU,並將源文件發到空閒CPU一塊兒編譯,從而大大縮短了大工程的編譯時間.
IncrediBuild 分爲服務端(Coordinator)和客戶端(Agent).服務端是協調任務的分配,客戶端把分到手的任務編譯後再返還回任務請求者,不是服務器, 服務端只負責分配工做,以後客戶端之間進行P2P的操做,若是二個客戶端創建好連接後,此時再與服務端斷開也不會影響他們之間的編譯。(參考:)ui
安裝方法:.net
1) 服務端(Coordinator)的安裝:
運 行IncrediBuild安裝程序,選擇Install IncrediBuild,並點Next下一步.贊成那什麼License Agreement繼續下一步.來到安裝組件選擇(Component Selection).這裏作爲服務端咱們要鉤先上IncrediBuild Coordinator.這裏是一個複選框,通常來講服務端也能夠參與編譯工做,若是不想讓服務端參與編譯工做的話,就把上面的IncrediBuild Agent前的鉤點掉就能夠
插件
繼續下一步,選擇安裝路徑,和使用的一些端口號.參與編譯的CPU數(這個只有鉤選了Agent後纔會有)等,這些使用默認的就能夠了.以後安裝完成.IncrediBuild的服務端就安裝好了.線程
2) 客戶端(Agent)的安裝:
在其它的電腦上,運行IncrediBuild的安裝程序,運行到安裝組件選擇(Component Selection),只鉤選IncrediBuild Agnet並下一步blog
選擇安裝路徑,並下一步.在這要填入服務端的IP地址和端口號.內存
填好以後下一步,它會與服務器進行驗證一下.而後設置一下編譯通信的端口之類的.這與網內安裝的其它的一至就好了,通常狀況都使用默認.而後選擇參與編譯的CPU數.最後安裝就好了.
到這步,基本上服務器與客戶端都安裝完成.在CoordinatorMonitor中能夠看到各成員的狀態.(注:個人看不到下面的界面,不影響功能)
打開VS你將會發現菜單欄上多出了一項IncrediBuild的選項.這就是在「IncrediBuild」菜單下進行聯合編譯了.
提示:編譯的時候關閉360衛士。
如下是編譯界面:(是否是很酷 O(∩_∩)O~)