【问题标题】:What is the difference between .cc and .cpp file suffix? [duplicate].cc 和 .cpp 文件后缀有什么区别? [复制]
【发布时间】:2013-09-06 13:28:16
【问题描述】:

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

我从 Google 得知它们都来自 C++ 语言,但我不确定它们之间的区别。

【问题讨论】:

  • .cpp 多 1 个字符
  • 另外还有.cp.c++.cxx.C
  • 你想要Hamming还是Levenshtein
  • 汉明法不适用于不同长度的字符串
  • 嗯,重新打开?问题不是问哪个更好,而是问有什么区别。

标签: c++


【解决方案1】:

约定。

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

【讨论】:

  • 如果文件尚未被识别为 C++,我如何配置 Visual Studio 以将其视为 C++?
  • @AviChapman,你或许可以试试files.associations
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 您使用什么排序规则?这肯定又是丹麦语:)
      猜你喜欢
      • 2010-12-05
      • 2010-10-26
      • 2011-03-11
      • 1970-01-01
      • 2012-12-03
      • 2011-07-17
      • 2011-04-24
      • 2011-08-28
      相关资源
      最近更新 更多