【问题标题】:Is gcc 4.9.x stable version?gcc 4.9.x 是稳定版吗?
【发布时间】:2014-06-21 01:24:20
【问题描述】:

Hu,我对只读模式感到惊讶......

不管怎样,我知道很多程序都使用even-odd version numbering,比如linux kernel 2.x。

[主要版本].[主要修订].[次要修订]

如果重大修订是奇怪的,它是不稳定的版本。

但在wikipedia page 中,它说gcc 4.9.0 是稳定版本。

NOT gcc 是否使用该版本编号?但是我听说gcc 4.7有很多bug,所以我不能确定..

【问题讨论】:

  • 如您所见 gcc.gnu.org ,GCC 4.9.0 是 GCC 团队的一个里程碑和正式版本。请不要参考维基百科的严肃内容,它是一个基本上任何人都可以编辑的网页,选择您的资源时,您会像您所使用的软件制造商一样小心谨慎。
  • Linus Torvalds 似乎至少在 4.9.0 上抱怨过:lkml.iu.edu//hypermail/linux/kernel/1407.3/00650.html

标签: gcc gcc4.9


【解决方案1】:

每个已发布的 GCC 版本都尽可能稳定。

C++ 编译器一直在努力跟上 ISO C++ 标准的进步。功能不断被引入。目前 C++11 已基本完成,大部分工作正朝着-std=c++1y 模式前进。 GCC 4.7 恰好处于 C++11 特性引入的顶峰,这可能解释了它的 bug 声誉。

可以肯定的是,运行旧版本的编译器没有任何优势,至少对于可靠兼容(可移植,不依赖于编译器错误)的代码而言。这适用于任何现代 C++ 编译器。

一个更相关的问题可能是您是否要运行预发布版本。通常,“前沿”包含的错误修正多于错误。

【讨论】:

  • 我一直很想运行最新版本的编译器,以至于我在 4.8.3 发布后就扔掉了我的交叉构建的 gcc 4.8.2,并花了很多时间交叉构建它。回到家,我会为 4.9.0 做同样的事情 >o
【解决方案2】:

对于现代编译器来说,坚持使用“最新最好的”版本是完全有意义的。虽然这是一个事实(只是不是一个容易接受的事实)——编译器和其他软件一样,容易出现错误。

在提交特定版本之前,您可以做的最好的事情是查看该版本中报告的未解决问题/错误,并了解它们对您的影响。就像最近的一个 bug posting 61904 for GCC 4.9.0 错误编译了 linux 内核一样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    相关资源
    最近更新 更多