这两种形式(或其他形式)中哪一种是最佳实践/最现代化/最好使用的呢?Google样式指南似乎建议使用
.cc
,还有其他意见或选择吗?我主要关注在Linux系统上的程序。
.cc
,还有其他意见或选择吗?说到底,这并不重要,因为C++编译器可以处理两种格式的文件。如果在您的团队内部真正是一个问题,那就抛硬币决定,然后继续进行实际工作。
GNU GCC将以下所有文件视为C++文件,无论您是通过gcc还是g++调用它,都将使用C++编译:.C
、.cc
、.cpp
、.CPP
、.c++
、.cp
或.cxx
。
请注意,GCC区分大小写,.C
是C++文件,而.c
是C文件(如果您让编译器决定正在编译的内容)。
GCC还支持其他后缀以表示特殊处理,例如,.ii
文件将被编译为C++,但不会预处理(用于单独预处理代码)。所有已识别的后缀详细信息可在gcc.gnu.org查看。
FILE_FLAG_POSIX_SEMANTICS
或类似参数;这就是最初的POSIX子系统、Interix/SFU/SUA甚至WSL 1的工作方式。然而,XP及更高版本需要您跳过一些障碍才能启用此功能,并且许多应用程序将因此崩溃(包括AV扫描器,因此需要跳过这些障碍)。 - Alex Shpilkin选择使用哪个makefile和其他工具是一项很好的建议,考虑非编译器工具来决定使用哪个扩展名是一个很好的方法,以帮助找到适合自己的答案。
我想补充一下以下信息,以帮助区分 .cc
和 .cpp
。以下是不同环境下的扩展名(来自“C++ Primer Plus”书):
Unix 使用:.C
、.cc
、.cxx
、.c
GNU C++ 使用:.C
、.cc
、.cxx
、.cpp
、.c++
Clang 使用:.C
、.cc
、.cxx
、.cpp
、.c++
,还有用于模块接口的 .cppm
Digital Mars 使用:.cpp
、.cxx
Borland C++ 使用:.cpp
Watcom 使用:.cpp
Microsoft Visual C++ 使用:.cpp
、.cxx
、.cc
,还有用于模块接口的 .ixx
Metrowerks CodeWarrior 使用:.cpp
、.cp
、.cc
、.cxx
、.c++
不同的环境支持不同的扩展名。我也在寻找答案,发现了这篇文章。根据这篇文章,我认为我可能会选择 .hpp
和 .cpp
,以便于跨平台/跨工具识别。
.cpp
是C++推荐的扩展名,据我所知。 有些人甚至建议对于C++头文件使用.hpp
,只是为了区分C语言。
虽然编译器不关心你的做法,但这是个人喜好。
我个人使用.cc
扩展名实现文件,.hh
用于头文件,.inl
用于内联/模板。
正如之前所说,这主要是一种口味问题。
从我所见到的, .cc
似乎更加"面向开源项目",因为在一些伟大的开源软件编码风格中建议使用它,而.cpp
似乎更加Windows风格。
--- 编辑
如上所述,这是"据我所见",可能是错误的。只是我工作过的所有Windows项目都使用.cpp
,而很多开源项目(主要是类Unix系统)使用.cc
。
使用.cc
的示例代码样式:
-*- C++ -*-
标记。参考链接:http://llvm.org/docs/CodingStandards.html;Mozilla编程风格建议使用.cpp/.h文件。参考链接:https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style;KDE似乎也在使用.cpp/.h文件。参考链接:http://quickgit.kde.org/。 - sastanin .cxx 和 .C (大写C)。 我相信Bjarne Stroustrup最初使用了 .C 。 .cpp 是C预处理器的名称,所以不幸的是它也被用于C ++。
另一种选项是.cxx
,其中x
应该是一个旋转45度的加号。
Windows、Mac和Linux都支持.c++
,因此我们应该使用它。
.c ++
,.h ++
。 - user426有几个人说.cc
没有代表任何东西?但事实并非如此。C++最初被称为“带类的C”。
确实,.cc
和.cpp
在大多数Unix系统上也是命令名称(分别表示c编译器和c预处理器)。
我只使用.cpp
,但我从Windows开始学习。 .cc
更多地是Unix惯例,尽管即使在Unix上,我也越来越少见。GNU make有.cpp
的规则,因此可能更受欢迎,在Windows和其他操作系统上都可以正常工作。另一方面,现代的C++对于头文件根本不使用扩展名,我真的不喜欢这样。所有我的项目都使用.h
作为头文件,并通过extern "C"
和测试__cplusplus
尽可能支持C和C++。
只需遵循项目/团队正在使用的惯例即可。
在我参与的项目中,我个人从未见过.cc
的使用,但从技术上讲,编译器并不关心文件扩展名。
真正关心的是在开发源代码的开发人员,所以我的经验法则是选择团队习惯使用的格式。如果你的“团队”是开源社区,那么选择一些非常常见的扩展名,.cpp
似乎是最受欢迎的。
.cc
作为 C++ 实现文件的文件扩展名。 - Vertexwahn
.C
是C++,“.c”是C,而对于“.cc”或“.cpp”则完全不理解。 - Jesse Chisholm.cc
。 - Lucio Paiva