#warning-Direktive

Die #warning-Direktive wird verwendet, um Compiler-Warnungen auszugeben. Diese können beispielsweise nützlich sein, um die Fehlersuche zu erleichtern, wenn bestimmte Bedingungen nicht erfüllt sind. Beipsielsweise gibt folgende Codezeile auf dem System des Autors eine Warnung aus:


warning: #warning "Software may be fast"
#if __APPLE__
  #warning "Software may be fast"
#endif

Details

Die #warning-Direktive ist das direkte Pendant zur #error-Direktive. Während die #error-Direktive jedoch die Kompilation abbricht, wird eine Warnung nur ausgegeben, jedoch vom Compiler schlussendlich übergangen in der Hoffnung, alles sei in bester Ordnung.

Die Anführungs- und Schlusszeichen "" sind eine gängige Konvention, um mit verschiedenen Compilern konsistent zu bleiben. Während manche Preprozessoren die gesamte Codezeile als Warnung annehmen, darf bei anderen die #warning-Direktive nur ein Argument haben, was durch die Anführungs- und Schlusszeichen gegeben ist.

Die #warning-Direktive wertet nichts aus. Auch vordefinierte Makros wie __LINE__ werden nicht verarbeitet, sondern direkt ausgegeben.