.cc
和.cpp
文件扩展名之间有什么区别?
从谷歌,我了解到它们都来自C ++语言,但我不确定它们之间的差异。
答案 0 :(得分:143)
公约。
历史上,C ++源文件的后缀为.C
。
这在第一次移植C ++时引起了一些问题
到文件名中案例不重要的系统。
不同的用户采用了不同的解决方案:.cc
,
.cpp
,.cxx
以及其他人。今天,在Unix之外
世界,它主要是.cpp
。 Unix似乎更频繁地使用.cc
。
对于标题,情况更令人困惑:无论如何
原因,最早的C ++作者决定不区分
用于C和C ++的标头之间,并使用.h
。
如果项目中没有C,那么这不会导致任何问题
开始不得不处理两者,这通常是一个好主意
区分可在C中使用的标题(.h
)
和那些不能(.hh
或.hpp
)。
此外,在C ++中,许多用户(包括我自己)更喜欢保留模板
源和内联函数在一个单独的文件中。哪一个,
严格来说,一个头文件,往往会得到另一个
约定集(.inl
,.tcc
,可能还有很多
其他)。
对于标题,它对编译器没有任何区别。
在源文件的情况下,不同的结尾将导致编译器假设不同
语言。但这通常可以被覆盖,我使用.cc
VC ++之前很久就用VC ++认识到它是C ++。
答案 1 :(得分:15)
没有区别。它们完全一样。
答案 2 :(得分:8)
从技术上讲,编译器没有区别。但是,一些编译器和/或构建系统会猜测如何根据扩展名编译文件,并且可能会或可能不会检测到“cc”(或“cpp”,但我认为这种情况更为罕见)作为c ++文件。
答案 3 :(得分:3)
实际上这一切都取决于你和你的编译器喜欢什么。它们之间没有任何区别。