我曾见过c++代码同时保存为.cc和.cpp文件。这两者之间有什么区别吗?
谷歌风格指南似乎建议使用.cc,但没有提供解释。
我主要关心Linux系统上的程序。
我曾见过c++代码同时保存为.cc和.cpp文件。这两者之间有什么区别吗?
谷歌风格指南似乎建议使用.cc,但没有提供解释。
我主要关心Linux系统上的程序。
当前回答
关于使用makefile和其他工具的很好的建议,在决定使用哪个扩展时考虑非编译器工具,这是帮助找到适合您的答案的很好的方法。
我只是想添加以下内容来帮助我找到一些。cc vs .cpp的信息。下面是按不同环境分解的扩展(来自“c++ Primer Plus”一书):
Unix使用。c, .cc, .cxx, .C
GNU C++用途:.C, .cc, .cxx, .cpp, .c++
Clang使用:.C, .cc, .cxx, .cpp, .c++和.cppm作为模块接口
数码火星uses: cpp, cxx
Borland c++使用:.cpp
Watcom使用:.cpp
Microsoft Visual c++使用。cpp, .cxx, .cc和.ixx作为模块接口
Metrowerks CodeWarrior uses: .cpp .cp .cc .cxx .c++
不同的环境支持不同的扩展。我也在寻找这个问题的答案,并找到了这篇文章。基于这篇文章,为了便于跨平台/跨工具识别,我想我可能会使用。hpp和。cpp。
其他回答
归根结底,这并不重要,因为c++编译器可以处理两种格式的文件。如果这在你的团队中是一个真正的问题,抛硬币,然后继续实际的工作。
其他使用的文件扩展名包括。cxx和。C(大写C)。我相信Bjarne Stroustrup最初使用的是。C .cpp是C预处理器的名称,所以不幸的是它也被用于c++。
另一个选项是。cxx,其中x应该是一个正旋转45°。
Windows, Mac和Linux都支持。c++,所以我们应该使用它。
.cc扩展名对于在makefile中使用隐式规则是必要的。通过这些链接可以更好地理解makefiles,但主要看第二个链接,因为它清楚地说明了.cc扩展名的有用性:
ftp://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_2.html
https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_10.html
我现在才知道。
我个人从来没有在我所从事的任何项目中看到过。cc,但在所有的技术层面上,编译器都不会关心。
谁会关心你的源代码的开发人员,所以我的经验法则是使用你的团队觉得舒服的东西。如果你的“团队”是开源社区,那么就使用一些非常常见的东西,其中.cpp似乎是最受欢迎的。