編譯時間

用戶使用編譯程式對其個人編制的源程式進行編譯的過程稱為程式編譯。編譯時間(compiling time) 指編譯程式將源程式編譯成目標程式所占用的時間。

基本介紹

  • 中文名:編譯時間
  • 外文名:compiling time
  • 對象源程式
  • 套用領域:網際網路
  • 套用學科:計算機科學與技術
  • 顯示:__DATE__和__TIME__
定義,減少時間,命令語法,軟體顯示時間,

定義

用戶使用編譯程式對其個人編制的源程式進行編譯的過程稱為程式編譯。編譯時間(compiling time) 指編譯程式將源程式編譯成目標程式所占用的時間。

減少時間

一是執行每日自動構建。每日自動構建的原理很簡單:安裝每日構建工具CCNET(不熟悉該工具的同學可以去搜尋下)。然後在源碼伺服器上安裝編譯環境。源碼伺服器每天獲取最新代碼,每天下班後開始編譯最新代碼,經過一個晚上基本上就能把庫和應用程式都編好,到了第二天開發人員只需下載最新的庫檔案和代碼檔案而不須自己重新編譯。這樣就能大大節省時間了。
二是使用聯合編譯器Incredibuild。這個工具估計大家都不陌生。最近試驗了一個新想法,寫一個批處理檔案,將SVN和IncrediBuild綁在一起,實現了從源碼更新到工程編譯。
c++環境中:
1. 刪除不必要的#include,替代辦法 使用前向聲明 (forward declared )
2. 刪除不必要的一大堆私有成員變數,轉而使用 “impl” 方法
3. 刪除不必要的類之間的繼承

命令語法

svnupinclude//更新伺服器的include資料夾到本地
BuildConsoleD:\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三個資料夾),然後運行這個批處理檔案就相當於把從更新源碼到編譯源碼這一系列動作都執行了。

軟體顯示時間

__DATE__和__TIME__
例子:
char strASCIICompileProfile[128]={0};
sprintf(strASCIICompileTime, "\nCompile time: %s %s", __DATE__, __TIME__);
可以做個選單,顯示這個內容,或者按某一個連續數字串時,顯示它。
編譯命令里,需要刪除這個檔案的O檔案,重新編譯,以保證顯示的是編譯時間。
+if exist ..\..\build\ms\SXNAAHZ\apptest.o del ..\..\build\ms\SXNAAHZ\apptest.o

相關詞條

熱門詞條

聯絡我們