.cc
和.cpp
文件扩展名有什么区别?
从谷歌上,我了解到它们都来自C++语言,但我不确定它们之间的区别。
发布于 2013-09-03 20:05:14
约定。
过去,C++源文件的后缀是.C
。在第一次将C++移植到文件名中大小写不重要的系统时,这会导致一些问题。
不同的用户采用了不同的解决方案:.cc
、.cpp
、.cxx
以及其他可能的解决方案。今天,在Unix世界之外,它主要是.cpp
。Unix似乎更多地使用.cc
。
对于头部,情况甚至更加混乱:无论出于什么原因,最早的C++作者决定不区分C和C++的头部,而是使用.h
。
如果项目中没有C语言,这不会造成任何问题,但是当您开始不得不同时处理这两个问题时,区分可以在C中使用的头文件(.h
)和不能使用的头文件(.hh
或.hpp
)通常是一个好主意。
此外,在C++中,许多用户(包括我自己)更喜欢将模板源代码和内联函数保存在单独的文件中。严格地说,它是一个头文件,但它倾向于获得另一组约定(.inl
、.tcc
以及可能还有很多其他约定)。
在头文件的情况下,这对编译器来说完全没有区别。
对于源文件,不同的结尾将导致编译器采用不同的语言。但这通常是可以覆盖的,在VC++将其识别为C++之前很久,我就将.cc
与VC++一起使用。
发布于 2013-09-03 18:39:36
这是没有区别的。它们是完全一样的。
发布于 2013-09-03 19:41:31
从技术上讲,对于编译器来说是没有区别的。然而,一些编译器和/或构建系统会猜测如何根据扩展名编译您的文件,并且可能会也可能不会将"cc“(或"cpp”,但我猜这更少见)检测为c++文件。
https://stackoverflow.com/questions/18590135
复制相似问题