2010-08-22 110 views

回答

1

是的,從我所聽到的,尖括號(<'s)被用來表示標頭是由編譯器提供的,或者是編譯器已經被告知關於頭文件可以在其中的目錄找到(-I)。引用("'s)通常用於源樹中的頭文件。但是像其他人所說的那樣,這不是要求。

+0

即使頭文件位於源代碼樹中,您仍然必須告訴編譯器如何找到它。 '-I.'不是默認值。 – Borealid 2010-08-22 02:42:32

+0

什麼?我從來沒有說過 - 我是默認的...我說<是爲了類似,或者如果你指定一個路徑與-I – 2010-08-22 02:55:10

5

這表示標題不是系統範圍的。

這是一個約定,而不是要求。

順便說一句,那些不是引號,它們是引號。排版領域有所不同。

+3

<>不是大括號...:p – Yuji 2010-08-22 02:39:50

+0

印刷上來說,它們也不是真正的引號。引號看起來像「this」,而不是「this」。 :) – jalf 2010-08-22 02:59:16

2

至少對於C來說,現在沒有什麼區別。 ISO標準規定文件的位置在兩種情況下都是實現定義的。

通常的方法是使用<>作爲系統標題(例如/usr/include之下的東西)和""作爲您自己的標題,但這不是必需的。

C99的相關位來自6.10.2,「源文件包含」,引用如下。


形式的預處理指令

# include <h-char-sequence> new-line 

搜索用於通過 的<>定界符之間的指定序列唯一標識的報頭實現定義的地方的序列,並且使更換即 指令由頭部的全部內容組成。如何指定地點或者標識 是實施定義的。

形式

# include "q-char-sequence" new-line 

的預處理指令使更換該指令由所述源文件的全部內容通過"定界符之間的指定的序列鑑定 。以實現定義的方式搜索指定的源文件 。如果該搜索不被支持,或者如果搜索失敗 ,則該指令被處理是否它與含有相同序列讀

# include <h-char-sequence> new-line 

從原始 指令(包括>字符,如果有的話)重新處理。

+0

報價和鏈接的獎金積分的標準:D – 2010-08-22 02:41:56

+0

爲什麼要麻煩,馬特?它的引用可能是其他每一個這個副本:http://stackoverflow.com/questions/3162030/difference-between-angle-bracket-and-double-quotes-while-including-header/3162067#3162067 http:// stackoverflow .com/questions/21593/what-is-the-difference-between-include-filename-and-include-filename/77092#77092 – Gabe 2010-08-22 02:45:47