#warning

Die #warning-Direktive wird verwendet, um Compiler-Warnungen auszugeben. Diese können beispielsweise nützlich sein, um anderen Programmierern 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.