程式設計好習慣 減少搜尋標頭檔案的目錄數

2021-08-27 13:17:32 字數 763 閱讀 5609

假設存在下圖所示的專案目錄結構。

如果存在如下包含標頭檔案的**,則大多的專案中需要通過「-ifoo」和「-ibar」指明兩個搜尋標頭檔案的目錄。 1

2

foo.c

#include "bar.h"

1

2

bar.c

#include "foo.h"

然而,當專案規模很大存在很多的目錄時,這種方式將顯著地降低專案的編譯速度。因為「-i」選項使用得越多,意味著編譯每乙個c檔案時所需進行標頭檔案搜尋的目錄也越多。

為了避免這一問題,我們可以將**改為: 1

2

foo.c

#include "bar/bar.h"

1

2

bar.c

#include "foo/foo.h"

如此一來,整個專案只需乙個「-isrc」選項就行了。

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

本文出自李雲的部落格,請務必保留此出處:

程式設計好習慣 減少搜尋標頭檔案的目錄數

假設存在下圖所示的專案目錄結構。如果存在如下包含標頭檔案的 則大多的專案中需要通過 i foo 和 i bar 指明兩個搜尋標頭檔案的目錄。1 2 foo.c include bar.h 1 2 bar.c include foo.h 然而,當專案規模很大存在很多的目錄時,這種方式將顯著地降低專案的...

程式設計好習慣 減少搜尋標頭檔案的目錄數

假設存在下圖所示的專案目錄結構。如果存在如下包含標頭檔案的 則大多的專案中需要通過 i foo 和 i bar 指明兩個搜尋標頭檔案的目錄。foo.c include bar.h bar.c include foo.h 然而,當專案規模很大存在很多的目錄時,這種方式將顯著地降低專案的編譯速度。因為 ...

程式設計好習慣 減少搜尋標頭檔案的目錄數

假設存在下圖所示的專案目錄結構。如果存在如下包含標頭檔案的 則大多的專案中需要通過 i foo 和 i bar 指明兩個搜尋標頭檔案的目錄。foo.c include bar.h bar.c include foo.h 然而,當專案規模很大存在很多的目錄時,這種方式將顯著地降低專案的編譯速度。因為 ...