Frage

Ein Microsoft-Compiler können spezifische Warnungen mit einem Pragma deaktiviert werden, ohne andere Warnungen zu deaktivieren. Dies ist eine äußerst nützliche Funktion, wenn der Compiler über etwas warnt, dass „hat zu tun“.

Ist GCC an dieser Stelle eine ähnliche Funktion haben? Es scheint wie ein offensichtliches genug Merkmal, dass seine unvorstellbar, dass es diese Funktion nicht noch haben würde, aber ältere Informationen im Internet schlägt diese Funktion nicht vorhanden.

Was ist ein in GCC zu benutzen?

Insbesondere möchte ich Multi-Zeichenkonstanten verwenden, wie 'abc'. Diese bewerten effektiv als Basis 256 Nummer - eine sehr praktische Funktion, aber es löst eine Warnung aus. Es ist sehr praktisch für die in einer Case-Anweisung auf vier Zeichenketten wechseln.

War es hilfreich?

Lösung

Dies kann mit gcc erfolgen Diagnose pragmas .

Andere Tipps

Von dem gcc Handbuch:

   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.

Aber wenn Sie fragen, ob es eine Source-Level-Warnung deaktivieren, ich bin mir nicht bewusst, wenn diese Funktion in gcc vorhanden ist.

-Wno-multichar :

  

Sie nicht warnen, wenn ein aus mehreren Konstante ( ‚FOOF‘) verwendet wird. Normalerweise zeigen sie einen Tippfehler in   des Benutzers Code, da sie die Implementierung definiert Werte haben, und sollte nicht verwendet werden in   portablen Code.

Weitere Informationen .

Innerhalb Quellcode schreiben:

#pragma GCC diagnostic ignored "-Wno-multichar"

// code with  warnings but wont be displayed now...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top