胡,我对只读模式感到惊讶......
无论如何,我知道许多程序使用奇偶版本编号,例如 linux kernel 2.x。
[主要版本].[主要修订].[次要修订]
如果重大修订是奇怪的,它是不稳定的版本。
但是在wikipedia page中,它说 gcc 4.9.0 是稳定版本。
gcc 不使用该版本编号吗?但我听说 gcc 4.7 有很多错误,所以我不能确定..
胡,我对只读模式感到惊讶......
无论如何,我知道许多程序使用奇偶版本编号,例如 linux kernel 2.x。
[主要版本].[主要修订].[次要修订]
如果重大修订是奇怪的,它是不稳定的版本。
但是在wikipedia page中,它说 gcc 4.9.0 是稳定版本。
gcc 不使用该版本编号吗?但我听说 gcc 4.7 有很多错误,所以我不能确定..
GCC 的每个发布版本都尽可能稳定。
C++ 编译器一直在与 ISO C++ 标准的进步保持同步。功能不断被引入。目前 C++11 已基本完成,大部分工作正朝着-std=c++1y
模式发展。GCC 4.7 恰好处于 C++11 功能引入的顶峰,这可能解释了它以 bug 着称的原因。
可以肯定的是,运行旧版本的编译器没有任何优势,至少对于首先可靠兼容(可移植,不依赖于编译器错误)的代码。这适用于任何现代 C++ 编译器。
一个更相关的问题可能是您是否要运行预发布版本。通常,“出血边缘”包含的错误修正多于错误。
对于现代编译器来说,坚持使用“最新和最好的”版本是完全有意义的。尽管这是一个事实(只是不是一个容易接受的事实)——编译器和其他软件一样,容易出现错误。
在提交特定版本之前,您可以做的最好的事情是查看该版本中报告的未解决问题/错误,看看它们如何影响您。就像最近发布的 GCC 4.9.0 错误之一 61904 错误编译了 linux 内核!