我曾见过c++代码同时保存为.cc和.cpp文件。这两者之间有什么区别吗?
谷歌风格指南似乎建议使用.cc,但没有提供解释。
我主要关心Linux系统上的程序。
我曾见过c++代码同时保存为.cc和.cpp文件。这两者之间有什么区别吗?
谷歌风格指南似乎建议使用.cc,但没有提供解释。
我主要关心Linux系统上的程序。
当前回答
GNU GCC将以下所有文件识别为c++文件,并且无论您是通过GCC还是g++调用它,都将使用c++编译:.C, .cc, .cpp, .cpp, .c++, .cp或.cxx。
注意。C -大小写在GCC中很重要,.C是一个C文件,而.C是一个c++文件(如果你让编译器决定它要编译什么)。
GCC还支持其他后缀来表示特殊处理,例如.ii文件将被编译为c++,而不是预处理(用于单独的预处理代码)。所有被认可的后缀的详细信息请参见gcc.gnu.org
其他回答
与大多数风格惯例一样,只有两件事是重要的:
在任何可能的情况下,在你所使用的东西上保持一致。 不要设计任何依赖于特定选择的东西。
这些似乎相互矛盾,但它们都有各自的价值。
有几个人说。cc没有任何意义?它可能。c++最初被称为“带类的C”。
的确,.cc和.cpp在大多数Unix系统(分别是c编译器和c预处理器)上也是命令名。
我只使用。cpp,但我开始使用Windows. cc更像是Unix的惯例,尽管我在Windows上看到的越来越少。GNU make有。cpp的规则,所以这可能是首选,它将在Windows和其他任何系统上默认工作。另一方面,现代c++对头文件完全不使用扩展,我真的不喜欢这样。我所有的项目都使用.h作为头文件,它们通过extern“C”和测试__cplusplus尽可能多地支持C和c++。
另一个选项是。cxx,其中x应该是一个正旋转45°。
Windows, Mac和Linux都支持。c++,所以我们应该使用它。
只要遵循项目/团队使用的约定即可。
.C和.cc似乎是我见过的(少数)面向unix的c++程序的标准。我自己一直使用。cpp,因为我只在Windows上工作,这是永远的标准。
我个人推荐。cpp,因为……它代表“C + +”。当然,文件扩展名是首字母缩略词是非常重要的,但如果这个理由证明不够有说服力,其他重要的事情是不使用shift键(这排除了.c和.c++)和尽可能避免正则表达式元字符(这排除了.c++——不幸的是,你不能真正避免。当然)。
这并不排除.cc的可能性,所以即使它并不代表任何东西(或者它真的代表什么吗?),对于面向linux的代码来说,它可能是一个很好的选择。