以最传统的方式,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 * –