1. ホーム
  2. c++

[解決済み] GCC/G++コンパイラで-pedanticを使用する目的は何ですか?

2022-02-10 18:56:51

質問

このノート は言う。

-ansi : は、ANSI 言語オプションを実装するようコンパイラに指示します。これは GCC の特定の機能をオフにします。 とは互換性がありません。 規格に準拠しています。

-pedantic と組み合わせて使用します。 -ansi これは、ANSI規格に忠実に従うようにコンパイラに指示します。 でないコードは拒否されます。 に準拠しています。

まず最初に

  • の目的は何ですか? -pedantic-ansi GCC/G++コンパイラのオプション(上記の説明では理解できませんでした)?
  • この2つのオプションは、どのような状況で使うのが正しいのでしょうか?
  • どのような場合に使用すればよいですか?
  • 重要ですか?

どのように解決するのですか?

GCCコンパイラは常に、可能であればあなたのプログラムをコンパイルしようとします。しかし、いくつかの場合 CやC++の標準では、ある種の拡張が禁止されている場合があります。適合するコンパイラ GCCやg++のようなものは、これらの拡張子に遭遇したとき、診断を出さなければなりません。

たとえば、GCCコンパイラの -ペダンティック オプションは、このような場合、GCCが警告を発するようにします。より厳密な -pedantic-errors オプションは、このような診断警告をエラーに変換し、その時点でコンパイルに失敗するようにします。適合するコンパイラーがフラグを立てる必要がある非ISOコンストラクトのみが警告やエラーを発生させます。