为什么MinGW默认没有安装gcc 4.x.x系列编译器?

3

目前,MinGW默认只安装gcc编译器的3.x.x系列。然而,4.x.x系列的编译器已经发布了一段时间,正如其他人所提到的,似乎也能很好地工作。为什么还没有转移到4.x.x版本,我是否应该使用更新的gcc版本呢?

3个回答

4

TDM GCC/MinGW32 builds 安装程序包括 gcc 4.4.x 和所有用于基本的Windows开发所需的核心二进制包,包括gdb。它被广泛使用且没有任何异常问题。


3
问题似乎是他们以一种破坏ABI的方式改变了异常处理机制。这意味着您不能(例如)放入新编译器并继续使用旧的目标文件和/或库。您必须从源代码重新编译所有内容才能获得可行的结果。

GCC在Windows上的支持并不是很强,因此可能会存在一些潜在的错误。因此,在他们感觉更加稳定之前,他们仍然坚持使用经过验证的方法。 - rogerdpack

2

GCC4的C++ ABI与GCC3不同,并且包含了许多新功能(如其树形向量化),许多人仍然认为这些功能是“实验性的”。因此,仍有一些Linux发行版在使用GCC3。


3
C++的主要abi变化是在2001年左右发生的,大约已经过去了10年。10年啊!你为什么就不能适应它呢? - P Shved
1
当gcc完全支持C99时,也许我们可以合理地抱怨人们不应该仍在使用10年前被替换的ABI。 - Steve Jessop
我知道自从GCC-2.95以来至少有3个ABI更改:3.0、3.3和4.0。我不知道具体发生了什么变化,只知道确实有所改变。Jerry指出异常机制是其中之一的更改。 - greyfade

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