2010-04-13 59 views
4

我想我知道構建是什麼。但我不確定。我編譯的定義是說編譯應用程序的另一個詞。有人可以告訴我什麼是一個構建。爲什麼人們要求3種類型的構建。比如Debug Build,Profile Build和Release Build。有什麼區別。瞭解構建C++

[編輯] 的類型,建立

+0

「爲什麼人們要求2種構建類型,如Debug Build,Profile Build和Release Build」:這些看起來像3種類型...... – 2010-04-13 05:40:53

回答

6

看一看Visual Studio Debug and Release Modes

釋放模式

當組件內置在釋放模式中,編譯器執行所有可用的優化技術,確保輸出的可執行文件和庫,有效地執行越好。這種模式應該用於已發佈給最終用戶的完整和經過測試的軟件。發佈模式的缺點是,雖然生成的代碼通常更快,更小,但調試工具無法訪問。

調試模式

調試模式下使用而開發的軟件。當程序集以調試模式編譯時,嵌入了額外的符號信息,代碼沒有優化。這意味着編譯器的輸出通常更大,更慢,效率更低。但是,可以將調試器附加到正在運行的程序中,以便在監視內部變量的值時允許代碼逐步通過。

3

一次構建基本上意味着在做一組任務,以使你的程序。典型構建的主要組件是編譯和鏈接。

更具體地說,構建可以包含編譯,鏈接,設置版本號,將輸出複製到某個位置,創建安裝程序和其他任何內容。

當人們說調試或發佈構建等等時,他們可能會爲每個設置定義不同的設置。例如,在調試版本中,您將創建用於調試的程序數據庫文件。

0

構建不必包含僅編譯和鏈接的目標。通常至少有一個,但是「build」也可以包括創建純文本文件或二進制文件,將圖像,聲音和其他文件移動到文件要訪問的正確位置,或者需要其他任何操作將被執行以供應用程序運行。

如果您願意的話,將針對不同的「受衆」製作多種類型的版本。例如,最終用戶不需要收集有關被調用的函數,引發了多少次和異常的信息,或任何其他診斷信息(儘管該信息對開發人員有價值)。通常最終的「發佈」內部版本會變得很快而且很小,並且不會像這樣的額外內容加載用戶。