2009-10-22 31 views

回答

4

不,沒有區別。

你也可以有

#include "../thisdir/test.h" 

而且這將是相同的

+0

如果通過 – 2009-10-22 11:02:31

+0

重命名目錄,則必須更改所有#includes如果我做了「../../thisdir/test.h」,那將是一場噩夢:) – Tom 2009-10-22 11:05:04

1

按照C標準,是沒有區別的:編譯器到達指定他們是如何搜索。實際上,對於我所知道的任何實現,不應該有任何區別。

-1

在我看來有一個重要的區別。

#include "test.h"的情況下,使用選項-I在指定給編譯器的所有目錄中搜索包含文件。

#include "./test.h"的情況下,僅使用引用文件的駐留目錄。

+0

Isnt是-I選項用於將「標準」目錄添加到包含路徑(即,將在角度支架上掃描的目錄包括) – Tom 2009-10-22 11:10:16

+0

@Tom,假設我們正在討論gcc,-I指定要搜索「」和「 >包括。您可以使用-isystem指定只應搜索尖括號的路徑。 – 2009-10-22 11:20:15

+1

不正確。兩者仍將搜索所有目錄。在查看以-I – sep 2009-10-22 11:37:31

1

預處理器將對這兩種樣式進行相同處理。標準做法是

#include "test.h" 

並將include文件路徑作爲選項傳遞給編譯器。 (例如,GCC的-I選項)。這使得更改頭文件的位置變得很容易。您只需在項目的make文件中進行一次更改即可。

相關問題