3

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

无论如何,我知道许多程序使用奇偶版本编号,例如 linux kernel 2.x。

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

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

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

gcc 不使用该版本编号吗?但我听说 gcc 4.7 有很多错误,所以我不能确定..

4

2 回答 2

5

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

C++ 编译器一直在与 ISO C++ 标准的进步保持同步。功能不断被引入。目前 C++11 已基本完成,大部分工作正朝着-std=c++1y模式发展。GCC 4.7 恰好处于 C++11 功能引入的顶峰,这可能解释了它以 bug 着称的原因。

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

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

于 2014-06-21T01:31:29.193 回答
4

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

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

于 2014-08-15T18:26:44.107 回答