Borland,GCC和MinGW编译器有什么区别?

时间:2010-11-02 14:36:30

标签: c compiler-construction

我当然在中级编程了一段时间。我一直在这些不同的编译器中执行相同的代码(主要是GCC和MinGW),但我无法弄清楚这些编译器之间的区别。我的意思是一个人比另一个人更好?或是什么让他们与众不同?是否有一些特殊需求可能需要使用GCC,而其他人可能需要使用MinGW?

4 个答案:

答案 0 :(得分:6)

MinGW和GCC实际上是相同的编译器。 MinGW是Windows平台的GCC端口。

您使用不同编译器的原因(如基于不同的前端)是:

  • 你有一个仅限二进制的库,只有当你使用特定的编译器并且那些碰巧是不同平台的不同编译器时才能保证好。
  • 您需要定位多个平台,并且没有针对所有平台的编译器
  • 您拥有在不同平台上使用特定编译器扩展的遗留代码。

答案 1 :(得分:5)

如有疑问,请使用gcc。它是一个古老的,经过良好测试的编译器,它在Linux空间中是免费的,并且使用很多,尤其如此。 minGW是Windows的一些GNU开发实用程序的端口,包括gcc。

我没有使用过Borland的编译器。理想情况下,使用它编译的程序应该像使用gcc编译时一样运行。

Gcc和Borland基本上做同样的事情。简化后,它们将源代码文件作为输入并将可执行文件作为输出进行吐出。他们的内部实施有很大的不同,但这不应该是你的关注。

当出现问题时,与您有关的差异是他们的命令行标志和错误/警告消息。

答案 2 :(得分:0)

一个巨大的区别是Borland只专注于Windows系统(至少在我使用它时),因此它有很多非常好的自定义Windows特定命令和库。海湾合作委员会(GCC)更为通用,因此做同样的事情可能需要做很多工作才能完成Borland可以做的事情。

答案 3 :(得分:0)

Borland是Turbo C ++中使用的编译器。与GCC / MinGW相比,它的工作方式有所不同。头文件必须包含

#include<iostream.h>
#include<conio.h>

using namespace std;

像GCC一样在Borland中不使用。

在海湾合作委员会,我们从

开始
#include<iostream>
using namespace std;

在Borland中,将自动选择名称空间,并且您还需要包括输入输出条件,例如#include<conio.h>