GCC-Äquivalente zum selektiven Deaktivieren von Warnungen in einer Übersetzungseinheit
In C-Projekten treten Situationen auf, in denen es wünschenswert ist, Warnungen für bestimmte Codesegmente zu unterdrücken ohne das Warnverhalten an anderer Stelle im Projekt zu beeinflussen. Um dies zu erreichen, verwendet Microsoft Visual C (MSVC) ein Paar Pragmas:
#pragma warning( push ) #pragma warning( disable : 4723 ) // Code section where warning 4723 is suppressed #pragma warning( pop )
GCC-Diagnose-Pragmas
GCC bietet kein genaues Äquivalent zur Warnung von MSVC Pragmas. Es stellt jedoch Diagnose-Pragmas bereit, die eine genauere Kontrolle über die Unterdrückung von Warnungen ermöglichen. Am relevantesten ist die #Pragma-GCC-Diagnose:
#pragma GCC diagnostic [warning|error|ignored] "-Wwhatever"
Einschränkungen
#Pragma-GCC-Diagnose weist im Vergleich zu den Pragmas von MSVC Einschränkungen auf:
Verwendung
Um eine bestimmte Warnung wie „-Wwhatever“ zu unterdrücken, verwenden Sie das folgende Pragma vor dem Code, der die Warnung auslöst Warnung:
#pragma GCC diagnostic ignored "-Wwhatever"
Stellen Sie nach dem betroffenen Code das ursprüngliche Warnverhalten wieder her, indem Sie Folgendes verwenden:
#pragma GCC diagnostic warning "-Wwhatever"
Überlegungen
Das obige ist der detaillierte Inhalt vonWie kann ich GCC-Warnungen in einem bestimmten Codeabschnitt selektiv deaktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!