135

.cc.cpp文件扩展名有什么区别?

从谷歌,我了解到它们都来自 C++ 语言,但我不确定它们之间的区别。

4

4 回答 4

231

公约。

从历史上看,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++。

于 2013-09-03T12:05:14.307 回答
17

没有区别。它们完全一样。

于 2013-09-03T10:39:36.173 回答
9

从技术上讲,对于编译器来说没有区别。但是,一些编译器和/或构建系统会猜测如何根据扩展名编译您的文件,并且可能会或可能不会将“cc”(或“cpp”,但我猜这种情况更罕见)检测为 c++ 文件。

于 2013-09-03T11:41:31.177 回答
5

实际上,这完全取决于您和您的编译器喜欢什么。它们之间根本没有区别。

于 2013-09-03T11:00:00.880 回答