私のコードでいくつかのgcc診断をプッシュ/ポップする必要があります。それが1つのファイルに必要だった場合、私は次のようにします:複数のプラグマディレクティブを1つのプリプロセッサ定義に配置する
#pragma GCC diagnostic push
#pragma GCC diagnostic error "-Wformat"
#pragma GCC diagnostic error "-Wuninitialized"
...some code...
#pragma GCC diagnostic push
しかし私はこれを複数の場所で必要とします。ですから、私は#defineなどを欲しいと思っています。私は次のことについて考えましたが、cプリプロセッサは#defineに#pragmaを許可していません。
#define PushWarnings \
#pragma GCC diagnostic push \
#pragma GCC diagnostic error "-Wformat" \
#pragma GCC diagnostic error "-Wuninitialized"
これを達成する方法はありますか?
@EdHeal「修正」とはどういう意味ですか? – melpomene
コードは無効にするのではなく、警告を有効にします(あるいはエラーに変えます)。 – melpomene
@melpomene - すべての警告がエラーで、その保護機能を持たないコードで遊ぶ必要がないようにコードをコンパイルしてください。 –