Diagnostic directives
From cppreference.net
<
c
|
preprocessor
Zeigt die gegebene Fehlermeldung an und macht das Programm fehlerhaft , oder gibt eine Warnmeldung aus ohne die Gültigkeit des Programms zu beeinflussen (seit C23) .
Inhaltsverzeichnis |
Syntax
#error
Diagnose-Nachricht
|
(1) | ||||||||
#warning
Diagnose-Nachricht
|
(2) | (seit C23) | |||||||
Erklärung
1)
Nach dem Auftreten der
#error
-Direktive zeigt eine Implementierung die Meldung
diagnostic-message
an und macht das Programm fehlerhaft (die Kompilierung wird abgebrochen).
2)
Gleich wie
(1)
, mit der Ausnahme, dass die Gültigkeit des Programms nicht beeinträchtigt wird und die Kompilierung fortgesetzt wird.
diagnostic-message kann aus mehreren Wörtern bestehen, die nicht unbedingt in Anführungszeichen stehen müssen.
Hinweise
Vor seiner Standardisierung in C23
wurde
#warning
von vielen Compilern in allen Modi als konforme Erweiterung bereitgestellt.
Beispiel
Diesen Code ausführen
#if __STDC__ != 1 # error "Not a standard compliant compiler" #endif #if __STDC_VERSION__ >= 202311L # warning "Using #warning as a standard feature" #endif #include <stdio.h> int main (void) { printf("The compiler used conforms to the ISO C Standard !!"); }
Mögliche Ausgabe:
The compiler used conforms to the ISO C Standard !!
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 6.10.5 Fehlerdirektive (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 6.10.5 Fehlerdirektive (S: 126-127)
- C11-Standard (ISO/IEC 9899:2011):
-
- 6.10.5 Fehlerdirektive (S: 174)
- C99-Standard (ISO/IEC 9899:1999):
-
- 6.10.5 Fehlerdirektive (S: 159)
- C89/C90-Standard (ISO/IEC 9899:1990):
-
- 3.8.5 Fehlerdirektive
Siehe auch
|
C++-Dokumentation
für
Diagnose-Direktiven
|