GCC编译器的优势

3

有人能告诉我什么是gcc吗?它相对于Turbo C和Visual C等其他编译器的优势是什么?


1
这就是GNU编译器集合。 - Brad Gilbert
3
您可能会在 Stack Overflow 上获得更好的信息。 - EBGreen
这是一个情况,访问网站gcc.gnu.org将为您提供比SO更多和更好的信息。 - anon
6个回答

7
GNU编译器集合是一款开源(GPL)编译器。它可以在各种系统上使用,从GNU/Linux到各种Unix,再到Windows。
GCC支持许多语言(C、C++、Fortran等)。它高度可移植,广泛使用,并且倾向于产生良好的代码。它还可以用作交叉编译器(为运行GCC的系统之外的系统进行编译)。
对于大多数类Unix系统来说,它是默认的编译器选择,因为大多数供应商不再费心编写自己的编译器——GCC对于一般用途来说太好了。
在Windows下,Microsoft自己的开发工具通常更受青睐,因为它们可以更快地获得新技术的支持。
在高性能编程环境(以及一些嵌入式环境)中,您可能需要一个更针对特定芯片/系统进行优化的编译器。

3
GNU编译器集合是GNU/Linux系统中使用的编译器。我不知道它们是否与只在DOS/Windows系统上运行的Turbo C或Visual C竞争。
对用户的主要优点是,GCC几乎可以安装在(有时随附于)每个GNU/Linux系统上,并可用于构建以源代码形式分发的软件包。
我相信程序员会认识到其他优点,但也许这是stackoverflow.com上的一个话题。
[编辑] 现在此问题已经迁移,请查看Michael Kohne的答案,了解一些程序员的优点。

这个 GCC 编译器与基于 Windows 的操作系统兼容吗? - Himjones
我知道你可以通过cygwin使用gcc。我想有一个win23端口,但我不能确定。 - EBGreen
另一个优点是它不仅仅支持C和C++。这个优点的重要性完全取决于使用者。 - David Thornley

3

gcc相对于Turbo CVisual C的一个巨大优势:它是免费的!*

而且它无处不在,特别是在各种*nix环境中。您可以通过cygwin或MinGW在Windows上使用它。它可以编译真正惊人的语言(C、C++、Ada、Java、Fortran、Objective-C),并为Haskell提供了一种中间语言。

它已经被用于工业级项目数十年,所以您可以放心使用。

*(尽管公平地说,微软提供了免费的Visual C++ Express,但它不是开源的。)


Turbo C也是免费的(来自Borland博物馆),但它非常过时。 - paxdiablo

1
gcc相对于Turbo C和Visual C的真正优势在于它可以在Windows以外的平台上使用,并且具有构建跨平台二进制文件的能力,这意味着您可以设置一个构建工具链,在Linux上使用gcc构建Windows二进制文件,或者您可以设置类似的工具链,在Intel设备上构建一些ARM二进制文件,这绝对是非常好的,因为您在ARM设备上可能没有像开发环境中那样强大的性能。而使用Visual C编译器和Turbo C编译器几乎是不可能的。
所有这些的一个很好的额外奖励是,gcc是开源和免费的。

1

虽然GCC最初是GNU C编译器,但现在它已经成为GNU编译器集合,因为它具有C、C++、Java、Fortran等其他编译器。为什么要使用它?因为它更好。更好,因为:

  1. 一旦你使用GCC编译器编写了代码,你可以确信你的代码将在许多其他操作系统/平台/架构上运行。你将能够在程序中做更多的事情,而不像Turbo C那样几乎只能在Windows上运行。
  2. GCC被所有野外项目使用。有一些GCC的经验绝对是一个很大的优势,当你转向一些严肃的编程时。
  3. 这只是好的业力 :)

0

GCC集合是开源的。这意味着它可以很快地移植到许多不同的平台,因为有很多人在上面工作并了解它的工作原理。商业编译器通常是闭源的,只有一个公司或联盟才能进行移植,这可能需要花费很长时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接