以最傳統的方式,c/C++使用.h
作爲頭文件擴展名。然而,在現實世界使用量(即的Visual C++),還有很多其他類型的頭文件,如:.hxx
,.hh
,.w
,.idl
等不同類型的C/C++頭文件有什麼區別
我的問題是,爲什麼人們需要不同類型的頭文件?我沒有我看到的所有標題類型的完整列表,但請選擇您熟悉的任何案例並解釋一下。
以最傳統的方式,c/C++使用.h
作爲頭文件擴展名。然而,在現實世界使用量(即的Visual C++),還有很多其他類型的頭文件,如:.hxx
,.hh
,.w
,.idl
等不同類型的C/C++頭文件有什麼區別
我的問題是,爲什麼人們需要不同類型的頭文件?我沒有我看到的所有標題類型的完整列表,但請選擇您熟悉的任何案例並解釋一下。
對於編譯器來說沒有區別。你可以使用你想要的擴展名,甚至根本不需要擴展名。所以,.hh
,.hxx
, .my_awesome_extension
是有效的。編譯器唯一重要的是它可以找到一個具有指定名稱的文件。
編譯器不關心擴展,但是大多數代碼編輯器都會在它們遇到這些擴展之一時切換到C++模式。
例如Emacs將使用c-mode
和.h
擴展名,而切換到c++-mode
和.hpp
擴展名。
我將使用.inl作爲標題的內聯方法,我不想混淆我的「接口」文檔,即.h文件。所以在MyClass.h的底部,我會'#include「MyClass.inl」' – franji1
我也見過'.hpp',可怕的是'.h ++'。 –
@MooingDuck:'.h ++'似乎是合法的。 * q-char-sequence *用於'#include'文件名由* q-char *定義*: 源字符集的任何成員,除了換行符和'「'類似的* h-char-sequence * –