.cc
和.cpp
文件扩展名有什么区别?
从谷歌,我了解到它们都来自 C++ 语言,但我不确定它们之间的区别。
公约。
从历史上看,C++ 源文件的后缀是.C
. 第一次将 C++ 移植到文件名中大小写不重要的系统时,这会导致一些问题。
不同的用户采用了不同的解决方案:.cc
、
.cpp
,.cxx
以及可能的其他解决方案。今天,在 Unix 世界之外,它主要是.cpp
. Unix 似乎用.cc
得更频繁。
对于头文件,情况更加混乱:无论出于何种原因,最早的 C++ 作者决定不区分 C 和 C++ 的头文件,并使用.h
.
如果项目中没有 C,这不会导致任何问题,但是当您开始不得不同时处理这两种情况时,通常最好区分可以在 C ( .h
) 中使用的标头和不能 (.hh
或.hpp
)。
此外,在 C++ 中,很多用户(包括我自己)更喜欢将模板源代码和内联函数保存在单独的文件中。其中,虽然严格来说是一个头文件,但往往会得到另一套约定(.inl
可能.tcc
还有很多其他约定)。
在头文件的情况下,它对编译器完全没有影响。
在源文件的情况下,不同的结尾将导致编译器采用不同的语言。但这通常可以被覆盖,而且我.cc
早在 VC++ 将其识别为 C++ 之前就使用了 VC++。
没有区别。它们完全一样。
从技术上讲,对于编译器来说没有区别。但是,一些编译器和/或构建系统会猜测如何根据扩展名编译您的文件,并且可能会或可能不会将“cc”(或“cpp”,但我猜这种情况更罕见)检测为 c++ 文件。
实际上,这完全取决于您和您的编译器喜欢什么。它们之间根本没有区别。