質問
Microsoft コンパイラーでは、他の警告を無効にすることなく、#pragma を使用して特定の警告を無効にすることができます。これは、コンパイラが「実行する必要がある」ことについて警告する場合に非常に便利な機能です。
現時点で GCC にも同様の機能はありますか?これは十分に明白な機能のように思えますが、この機能がまだ存在しないとは想像もできませんが、Web 上の古い情報によると、この機能は存在しないことが示唆されています。
GCC で使用するものは何ですか?
具体的には、「abc」のような複数文字の定数を使用するのが好きです。これらは実質的に 256 進数として評価されます。これは非常に便利な機能ですが、警告が表示されます。case ステートメントで 4 つの文字列をオンにするのに非常に便利です。
解決
これはGCCので行うことができます診断プラグマはします。
他のヒント
gccのマニュアルから:
Many options have long names starting with -f or with -W---for example,
-fforce-mem, -fstrength-reduce, -Wformat and so on. Most of these have
both positive and negative forms; the negative form of -ffoo would be
-fno-foo. This manual documents only one of these two forms, whichever
one is not the default.
しかし、あなたは、ソースレベルの警告の無効があるかどうかを求めているならばその機能はGCCに存在する場合、私は認識していないよ。
-Wno-multichar:
複数文字の定数 ('FOOF') が使用されている場合は警告しません。通常、ユーザーのコードにタイプミスが表示され、実装が定義された値があるため、ポータブルコードでは使用しないでください。
詳しくは.
ソースコードの書き込み内部ます:
#pragma GCC diagnostic ignored "-Wno-multichar"
// code with warnings but wont be displayed now...
所属していません StackOverflow