CC是UNIX编译器命令的名称。它用作操作系统的默认编译器命令,并且可以使用同一命令执行。另一方面,GCC是GNU编译器操作系统。在运行于GNU和Linux的系统上,通常会使用CC链接,以便脚本可以互换,轻松地使用任一编译器。在使用GNU编译器集合和CC编译器方面,观察到各种差异。这些差异通常可以分为两个主要组。其中一个更具体,而另一组更通用。

差异性

两者之间的主要区别在于C编译器和C++编译器。 C++编译器确实接受C++程序,但不会随意在C中编译程序。尽管已经显示出即使在许多C程序不是有效的C++程序的情况下,也可以在C++可以很好理解的子集中编写C语言代码,但这通常是正确的。另一方面,C编译器接受C程序,但拒绝其中运行的大多数C++程序。出现此问题的原因是大多数C++程序都运行C语言中不可用的构造。

这些程序语言的可用库在很大程度上取决于语言。 C++程序可以在C库上执行,但这是特定于平台的。另一方面,C程序不能使用C++库。因此,C++往往具有比C大的库集。

在Solaris上,由编译器命令生成的目标代码与g++生成的代码完全不兼容,因为这是两个单独的编译器,它们的约定将有所不同。主要区别在于异常处理和名称处理。但是,请务必注意,名称修饰对于防止对象的兼容性链接在一起很重要。实际上,这表明使用CC中编译的库需要在CC中编译整个程序。另外,如果您需要使用CC编译的库和g++编译的库,则必须重新编译库以确保所需的功能。

就生成的汇编程序的质量而言,GCC(即GNU编译器集合)在此任务上非常出色。但是,本机编译器有时会更好地工作。可以说,英特尔编译器具有彻底的优化,尚未在GCC中复制。

尽管标准语言和编译器支持的语言之间只有微小的差异,但两种编译器都是当前标准的全新内容。这些标准是(C++ 98,C++ 2003,C99)。两种编译器均提供较早的C89支持,并且对预期的响应的理解对于确保编译器按预期推出至关重要。总而言之,GCC似乎专注于使生活更轻松,这是由于可以进行扩展和调整以获得期望的结果。

总结

  1. C和C++编译器库的交叉兼容性存在问题。
  2. C++程序可以在C库上执行,但这是特定于平台的。
  3. 要使用CC编写的库,需要使用CC而不是GCC编译整个程序。
  4. 如果使用CC和g++编译的库,则必须重新编译其中一个库。
  5. GCC在创建高质量装配体方面做得非常出色。
  6. 与当前标准相比,CC和GCC的语言功能都很棒。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:GCC和CC编译器
本文链接:https://www.vsdiffer.com/vs/gcc-vs-cc-compiler.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。