天天看點

減少搜尋頭檔案的目錄數

本文轉自李雲的部落格: http://blog.csdn.net/hzliyun/article/details/9340843

假設存在下圖所示的項目目錄結構:

減少搜尋頭檔案的目錄數
如果存在如下包含頭檔案的代碼,則大多的項目中需要通過“-I foo”和“-I bar”指明兩個搜尋頭檔案的目錄。

foo.c
#include "bar.h" 

bar.c
#include "foo.h"            

然而,當項目規模很大存在很多的目錄時,這種方式将顯著地降低項目的編譯速度。因為“-I”選項使用得越多,意味着編譯每一個C檔案時所需進行頭檔案搜尋的目錄也越多。

為了避免這一問題,我們可以将代碼改為:

foo.c
#include "bar/bar.h" 

bar.c
#include "foo/foo.h"            

如此一來,整個項目隻需一個“-I src”選項就行了。

促使我意識到這一問題,是因為前段時間看到Blink開源項目的一封郵件,其中談到采用上面的第二種方法後,在Windows上編譯Blink的速度提高了40%。

繼續閱讀