翻訳単位内で GCC 警告を選択的に無効にする
この質問は、コンパイル単位の特定の部分内で GCC 警告を選択的に無効にすることを目的としています。望ましい結果は、次のように MSVC でサポートされるプリプロセッサ構造に似ています。
#pragma warning( push ) #pragma warning( disable : 4723 ) // Code where warning C4723 should be suppressed #pragma warning( pop )
GCC Diagnostic Pragma
GCC は、診断プラグマ #pragma GCC を通じてソリューションを提供します。診断。ただし、MSVC アプローチとは動作が多少異なります。構文は次のとおりです。
#pragma GCC diagnostic [warning|error|ignored] "-W[whatever]"
このプラグマは、特定のコード ブロックの範囲内の特定の警告またはエラーを抑制または無視できます。
例 C4723 などの特定の警告を無効にするには、次の構文を使用します:
#pragma GCC diagnostic warning "-W4723"
プラグマは終了するまで有効であることに注意してください。コード ブロック、またはオプション #pragma GCC 診断警告 "-W4723" をオンにした別のプラグマによって終了されるまで。
注意事項と考慮事項
考慮することが重要です。 GCC 診断を使用する場合は、次の制限事項と注意事項があります。プラグマ:
翻訳単位の特定の部分に対してのみ警告を抑制するという望ましい動作を実現するには、望ましくない警告を生成するコードを別のコンパイル単位に選択的に組み込み、無効にすることをお勧めします。そのユニットに対する警告。
以上が特定のコード ブロック内の GCC 警告を選択的に無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。