GCC -Wall kurz deaktivieren

Hallo,

mit -Wall kann ich mir ja Warnungen anzeigen lassen, gibt es eine Möglichkeit, diese für paar Zeilen des Source Code zu deaktivieren ?

001
002
003
004
005

Und ich möchte z.B. die Funktion -Wall für die Zeilen 003 bis 005 deaktivieren, geht das irgendwie ?
 
Benutzt du gcc per Konsole?
Hab grad kein Linux zur Hand, aber
gcc blar.c | egrep -v "^00[3-5].*"
sollte eigentlich das gewünschte ergebnis erzielen.
-v steht für invert match, d.h. nur die Zeilen anzeigen die nicht draufpassen,
und das andere ist ein Regex, der auf alle Zeilen die mit 00, einer Zahl von 3-5 anfangen und danach irgendwas enthalten. Da ich grad nich testen kann wie die Fehlermeldungen von gcc aussehn, wirst du das wahrscheinlich noch anpassen müssen.
 
Ja, per Konsole !

Was du ja gemacht hast, ist die Ausgabe per Pipe an egrep zu schicken, dies ist prinzipiell möglich und nicht falsch. Ich dachte eher ein ein vordefiniertes Makro, welches die -Wall Zeilenweise deaktivieren kann, scheint es aber irgendwie nicht zu geben.
 
du koenntest die warnungen für den gcc ganz abstellen, und stattdessen das strengere tool "splint" verwenden. Für dieses tool gibt es auch kommentarmakros, mit diesem Tool kannst du auch Bereiche vom Code oder spezielle Code-strukturen von der warnung ausgeben, zusaetzlich wird viel mehr auch angemeckert.
 
1. Splint ist gut und meckert auch mal etwas, danke für den Hinweis.
2. Eigentlich nur eine kleine Warnung, die mich stört.

Mal ganz grob :

Eine Klasse erbt privat von QDialog, im Konstruktor wird der Dialog aufgebaut und angezeigt ( versuche halt ne starke Kohäsion einzuhalten ), in einer anderen Klasse bzw. Methode wird dann nur eine Instanz erzeugt,

Code:
void dummy(void)
{
   MeineKlasse *object = new MeineKlasse();
}

Der Compiler gibt dann halt ne Warnung aus, das object nicht benutzt wird, dass ist alles.

Ich könnte mit natürlich auch ne public Methode basteln und in dieser dann das show aufrufen

Code:
void dummy(void)
{
   MeineKlasse *object = new MeineKlasse();
  object->showDummyDialog();
}

Aber bei mittlerweile mehr als 2.000 Zeilen Quellcode ( Kommentare machen es möglich :rolleyes: ) und guten 70 Methoden bin ich über jede Methode froh, die ich auch weglassen kann.
 
Hm sehe ich das richtig, dass du da ein Objekt auf dem Heap erzeugst, aber dann den Speicher verschenkst? Wenn du etwas mit new erzeugst, solltest du es auch wieder mit delete löschen, sonst tropft dir der Speicher aus allen Ritzen.

Das sollte dann auch die Warnung beheben...
 
Zurück
Oben