胡,我对只读模式感到惊讶......
无论如何,我知道许多程序使用even-odd version numbering,如linux kernel 2.x。
[主要版本]。[主要修订]。[次要修订]
如果主要版本是奇数,则它是不稳定的版本。
但在wikipedia page中,它表示gcc 4.9.0是稳定版本。
NOT gcc是否使用该版本编号?但是我听说gcc 4.7有很多bug,所以我无法确定..
答案 0 :(得分:5)
GCC的每个发布版本都尽可能稳定。
C ++编译器处于不断的竞争中,以跟上ISO C ++标准的进步。功能不断被引入。目前C ++ 11大部分都是完整的,大部分工作都是-std=c++1y
模式。 GCC 4.7恰好处于C ++ 11特性介绍的顶峰,这可能解释了它的漏洞声誉。
可以肯定的是,运行旧版本的编译器没有任何优势,至少对于可靠兼容(可移植,不依赖于编译器错误)的代码而言。这适用于任何现代C ++编译器。
更相关的问题可能是您是否要运行预发布版本。通常,"出血边缘"包含比错误更多的错误修正。
答案 1 :(得分:4)
在现代编译器方面坚持使用“最新最好”的版本是完全合理的。虽然这是事实(只是不容易接受的) - 编译器和其他软件一样容易出错。
在提交特定版本之前,您可以做的最好的事情是查看该版本中报告的未解决的问题/错误,并了解它们对您的影响。就像最近的一个bug posting 61904 for GCC 4.9.0错误编译linux内核一样!