2

例如,具有 C99 标准的 C 编程语言支持十六进制浮点文字,但具有 C++03 标准的 C++ 不支持。

我对其进行了测试,GCC 在 C++03 模式(-std=c++03)中识别出十六进制浮动文字,但根据 C++ 标准,它不应该。我知道,这不是悲剧,我只是对这个问题感兴趣..

GCC 编译器是否符合标准?你能给我推荐一个“完美”符合标准的 C/C++ 编译器吗?

4

2 回答 2

5

当您向 GCC 提供标准时,根据手册

编译器将接受所有遵循该标准的程序以及那些使用不违背该标准的 GNU 扩展的程序。

如果您想确保严格遵守标准,请添加-pedantic,这将警告十六进制 FP 文字。

于 2013-03-09T21:04:55.377 回答
0

Comeau 编译器使用它自己的 libcomo 标准库,几乎可以提供最接近完美的 C++03 支持。

对于 C++11,带有 libc++ 的 Clang 和带有 libstdc++ 的 GCC 都非常好,但并不完美(还)

于 2013-03-10T22:30:09.040 回答