1. ホーム
  2. c

[解決済み】数行のコードに対してGCCの警告を無効化する方法

2022-04-01 09:08:23

質問

Visual C++では、以下のように #pragma warning (disable: ...) . また、GCCでは、以下のことが可能であることがわかりました。 ファイルごとのコンパイラフラグのオーバーライド . GCCを使用して、"次の行"またはコードの領域のプッシュ/ポップセマンティックのためにこれを行うにはどうすればよいですか?

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

このように表示されます。 できる . 追加されたGCCのバージョンは確定できませんが、2010年6月以前のいつかです。

以下はその例です。

#pragma GCC diagnostic error "-Wuninitialized"
    foo(a);         /* error is given for this one */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wuninitialized"
    foo(b);         /* no diagnostic for this one */
#pragma GCC diagnostic pop
    foo(c);         /* error is given for this one */
#pragma GCC diagnostic pop
    foo(d);         /* depends on command line options */