編譯器的環境設定也是引響編譯速度的主要原因之一,而環境設定的議題可以從許多的面向討論。
最佳化設定
首先最佳化的設定,在 Visual Studio 或是 gcc 上都有相似的設定,不同的最佳化程度可能區分成 O1 、 O2 、 O3 等,而隨著最佳化的效果越好,所需要花費的編譯時間也相對越高。通成數字越大表示使用越高級的最佳化,因此在除錯或是想要快速編譯時,可以選擇較低階的最佳化設定,如 O1,或是關閉任何最佳化選項。
多核處理器
若我們的電腦是使用多何處理器時,請使用編譯器多工功能,讓多個專案能同時編譯,以 Visual Studio 為例,可在 Tools > Options... > Projects and Solutions > Build and Run > maximum number of parallel project builds. 下設定多工的數量,基本上數量的設定與處理器多何數量一致會得到較好的結果。gcc 下可以加入 -j
#include "B.h"
#include "C.h"
...
使得這些標頭檔在編譯過程中指被編譯一次,這可有效的降低那些重複性工作。但 precompiled header 是不能被亂用的,若有一個標頭檔經常被更動,但又包含在 precompiled header file 中,這時專案的開發將會變成一個大災難,會導致整個專案時常重新編譯。因此, precompiled header 的功能,請用於那些第三方函式庫或確定不會常更動的程式碼上,這樣才能有效的提升整體專案的編譯速度。
除錯資訊 (Debug Information)
編譯 release 版本時請確認是否有產生 debug information ,若有請將它關閉,這樣可加速編譯時間。但若關閉除錯資訊,將無法進行除錯等相關工作。
2010年7月8日 星期四
[C++ 程式設計]加速編譯方法 - 編譯器設定
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言