17

比如哪个gcc版本支持c99?

是否有任何表格或图表来显示 gcc 和 g++ 的标准支持状态?

gcc 和 g++ 是如何演变的?

谢谢~

4

5 回答 5

16

非常严格地说,GCC 只支持 C89、C++98 和 C++03,从 4.3 开始都是肯定的。

到目前为止,对 C99 的支持仍然不完整,但是 GCC 长期以来一直支持一个非常大且可用的子集。

实验性的 C++11 支持从 4.3 开始,此后一直在改进;它在 4.6.x 中已经非常有用,并且在 4.7 中添加了更多功能(尽管 4.7.0 有点不稳定)。

也有一些 C11 支持,但 C11 的许多更改需要一个适当的新 C 库,它不容易替换。

于 2012-04-05T13:47:07.287 回答
9

您可以通过最新版本获得最广泛的标准支持 - 目前为 4.7。选择的标准可以用-std开关设置。这是一篇描述可用值的文章。还可以使用 启用一些附加功能/不同行为-fpermissive

于 2012-04-05T13:27:26.413 回答
4

http://gcc.gnu.org/projects/cxx0x.html

于 2012-04-05T13:36:09.793 回答
2

我想这个表也很有用: cppreference compiler support page

于 2015-07-29T23:27:28.300 回答
0

支持细节可以在 gnu 网站上找到。我记得大约有几十个标准 gcc 不适用于 c99。无论如何,在 gcc 中支持 c99 只需要简单的 --std=c99 参数

于 2012-04-05T13:42:04.517 回答