2

たとえば、C99標準のCプログラミング言語は16進浮動小数点リテラルをサポートしていますが、C++03標準のC++はサポートしていません。

私はそれをテストしました。GCCはC++03モード(-std = c ++ 03)で16進浮動リテラルを認識しましたが、C ++標準によれば、認識すべきではありません。私は知っています、それは悲劇ではありません、私はこの質問に興味があります。

GCCコンパイラは標準に準拠していますか?標準に「完全に」準拠するC/C ++コンパイラをお勧めしますか?

4

2 に答える 2

5

GCCに標準を与えると、マニュアルによると、

コンパイラは、その標準に従うすべてのプログラムと、それに矛盾しない GNU 拡張機能を使用するプログラムをすべて受け入れます。

標準に厳密に準拠したい場合は、-pedantic16 進数の FP リテラルについて警告する を追加します。

于 2013-03-09T21:04:55.377 に答える
0

独自の libcomo 標準ライブラリを使用する Comeau コンパイラは、C++03 を可能な限り完全にサポートしています。

C++11 の場合、libc++ を使用した Clang と libstdc++ を使用した GCC はどちらもかなり優れていますが、完全ではありません (まだ)

于 2013-03-10T22:30:09.040 に答える