这与我用于C ++程序的文件扩展名有关系吗?

我正在使用Orwell Dev C ++ 5.8.3 IDE。 它使用g ++ 4.8.1编译器。 当我保存我的C ++程序文件时,它会显示几个文件扩展名,用于保存我的C ++程序文件,如.cpp, .cc, .cxx, .c++, .cp

我选择哪个分机有什么关系?

这些扩展是编译器/ IDE特定的还是平台特定的?

我正在使用Windows 7操作系统。

这些扩展是否可用和/或是否可用于其他操作系统,如Unix或Linux?

为什么有这么多的扩展提供?

是什么原因?


该标准没有规定任何C ++源文件的格式,它甚至允许编译器将手写代码的.jpeg图像的源代码放在一张纸上并编译。 (搞笑读)

但是,这样的编译器不存在(当然)。 大多数真实世界的工具最适合任何传统的文件结尾,例如.cpp.cc.cxx ,所以我建议不要完全放弃你的结局。 任何传统的方法都很好,只需在项目中保持一致以避免混淆。

我也会对像.c++这样的东西有点小心。 我不知道每个系统是否允许使用文件名。


我选择哪个分机有什么关系?

是和不是。 不,使用什么扩展名并不重要。 只要你告诉编译器你正在编译什么语言,你就可以使用“.bat”或“.frog”。

不,您远离具有不同含义的扩展名,例如“.com”和“.exe”。

您列出的扩展在整个行业中都很常见。

这些扩展是编译器/ IDE特定的还是平台特定的?

不,它们不是特定于平台,而是在不同平台上更常见。

我尝试让我的开发团队使用“.hpp”而不是“.h”,因为我们混合了C和C ++语言文件; 但他们不理解并继续对这两种语言使用'.h'。

这些扩展是否可用和/或是否可用于其他操作系统,如Unix或Linux?

语言扩展与操作系统无关。 您可以在Windows或Linux操作系统上使用“.frog”。 确保操作系统允许扩展名的长度。

为什么有这么多的扩展提供?

创造力,固执,拒绝适应标准。

最大的问题是操作系统无法处理文件名或扩展名中的“++”。 C语言扩展很好,但有些操作系统区分大小写。 当C ++语言出现时,许多操作系统由于“++”字符而无法支持“.c ++”的扩展。 所以他们想出了不同的品种:

cpp - C plus plus
cxx
cc
cp

早期的另一个问题是,C ++源文件将被预处理,然后送入C编译器。 所以预处理文件的扩展名是“.cpp”,这增加了混淆。

是什么原因?

懒惰的程序员,有习惯的程序员,抢占市场份额。

编译器制造商希望将其编译器产品销售给最广泛的受众。 所以他们会适应。

当程序员习惯了扩展名“.cxx”,并且被迫使用另一个只使用“.cc”的制造商编译器时,程序员不会使用编译器或减慢生产力(通过不断改变扩展名)的习惯。

因此,为了取悦最广泛的受众,编译器制造商拥有一张通用扩展和语言的表格或地图。 如果您向GNU编译器提供“.c”文件,它将采用C语言。 同样,“.cxx”文件将被假定为具有C ++代码。 再次,这些是常见的扩展。

您可以告诉编译器使用不同的语言编译文件。 例如,您可以告诉编译器将“.c”文件翻译为“.c ++”。 这是使用C ++语言共享C文件的常用方法。

链接地址: http://www.djcxy.com/p/86307.html

上一篇: Does it matter which file extension I use for my C++ programs?

下一篇: no operator '>>' matches these operands