【发布时间】:2011-07-07 11:44:28
【问题描述】:
可能的重复:
*.h or *.hpp for your class definitions
Correct C++ code file extension? .cc vs .cpp
我曾经认为它曾经是这样的:
-
.h文件是 C 和 C++ 的头文件,通常只包含声明。 -
.c文件是 C 源代码。 -
.cpp文件是 C++ 源代码(也可以是 C 源代码)。
然后像.hpp、.cc 和.cxx 这样的文件出现了,我完全糊涂了……它们之间有什么区别?你什么时候用“新”的?
【问题讨论】:
-
我更喜欢
.cxx而不是.cpp以与 makefile 约定保持一致(请参阅 gnu.org/software/make/manual/html_node/Implicit-Variables.html ) -
我同意克里斯托夫的观点。很长一段时间以来,我认为 Makefiles 中的 CPPFLAGS 是用于将编译器标志传递给 C++ 编译器(而不是 C 编译器)。 CPPFLAGS 实际上将标志传递给 C 预处理器,这意味着它也可能会影响您的 C 代码。最终,我了解到 CXXFLAGS 是正确的 Makefile 变量,用于将标志传递给 C++ 编译器。
-
你们中的一个人应该添加该建议作为答案。结合@AProgrammer 的回答,它提出了一个非常具体的建议。
-
@Christoph Counterpoint:为
.cc、.C和.cpp制定隐含规则,但不是.cxx。 gnu.org/software/make/manual/html_node/…
标签: c++ c filenames header-files naming