2014-03-28 47 views
0

以最传统的方式,c/C++使用.h作为头文件扩展名。然而,在现实世界使用量(即的Visual C++),还有很多其他类型的头文件,如:.hxx.hh.w.idl不同类型的C/C++头文件有什么区别

我的问题是,为什么人们需要不同类型的头文件?我没有我看到的所有标题类型的完整列表,但请选择您熟悉的任何案例并解释一下。

+1

我将使用.inl作为标题的内联方法,我不想混淆我的“接口”文档,即.h文件。所以在MyClass.h的底部,我会'#include“MyClass.inl”' – franji1

+0

我也见过'.hpp',可怕的是'.h ++'。 –

+0

@MooingDuck:'.h ++'似乎是合法的。 * q-char-sequence *用于'#include'文件名由* q-char *定义*: 源字符集的任何成员,除了换行符和'“'类似的* h-char-sequence * –

回答

3

对于编译器来说没有区别。你可以使用你想要的扩展名,甚至根本不需要扩展名。所以,.hh,.hxx, .my_awesome_extension是有效的。编译器唯一重要的是它可以找到一个具有指定名称的文件。

0

编译器不关心扩展,但是大多数代码编辑器都会在它们遇到这些扩展之一时切换到C++模式。

例如Emacs将使用c-mode.h扩展名,而切换到c++-mode.hpp扩展名。

相关问题