【问题标题】:Why isn't the gcc 4.x.x series compilers installed by MinGW by default?为什么MinGW默认不安装gcc 4.x.x系列编译器?
【发布时间】:2010-12-06 20:07:28
【问题描述】:

目前MinGW的默认只安装3.x.x系列的gcc编译器。但是,看起来 4.x.x 系列编译器已经发布了一段时间,作为others have mentioned,它似乎工作得很好。有什么原因它还没有迁移到 4.x.x 版本,以及我不应该使用新版本的 gcc 的原因吗?

【问题讨论】:

    标签: c++ gcc mingw gcc4 gcc3


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • GCC 对 windows 的支持没有那么强,所以可能存在潜在的错误,所以在他们觉得它更稳定之前,他们会坚持使用久经考验的方法。
      【解决方案3】:

      GCC4 的 C++ ABI 已从 GCC3 改变,它包含许多新功能(例如它的树向量化),许多人仍然认为这些新功能是“实验性的”。由于这个原因,仍有一些 Linux 发行版仍在使用 GCC3。

      【讨论】:

      • C++ abi 的主要变化就像 2001 年一样。大约 10 年过去了。十年!为什么你不能和它相处?
      • 当 gcc 完全支持 C99 时,也许我们可以有效地抱怨人们不应该仍然使用 10 年前被替换的 ABI。
      • 我知道自 GCC-2.95 以来至少有 3 个 ABI 更改:3.0、3.3 和 4.0。我不知道到底发生了什么变化,只是发生了一些变化。 Jerry 指出,异常机制也在这些变化中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多