Diagnostic directives
From cppreference.net
<
c
|
preprocessor
Affiche le message d'erreur donné et rend le programme mal formé , ou affiche le message d'avertissement donné sans affecter la validité du programme (depuis C23) .
Table des matières |
Syntaxe
#error
message-de-diagnostic
|
(1) | ||||||||
#warning
message-de-diagnostic
|
(2) | (depuis C23) | |||||||
Explication
1)
Après avoir rencontré la directive
#error
, une implémentation affiche le message
diagnostic-message
et rend le programme non conforme (la compilation s'arrête).
2)
Identique à
(1)
, sauf que la validité du programme n'est pas affectée et la compilation continue.
diagnostic-message peut être composé de plusieurs mots, pas nécessairement entre guillemets.
Notes
Avant sa standardisation en C23,
#warning
a été fourni par de nombreux compilateurs dans tous les modes en tant qu'extension conforme.
Exemple
Exécuter ce code
#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 !!"); }
Sortie possible :
The compiler used conforms to the ISO C Standard !!
Références
- Norme C23 (ISO/IEC 9899:2024) :
-
- 6.10.5 Directive d'erreur (p: TBD)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 6.10.5 Directive d'erreur (p: 126-127)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 6.10.5 Directive d'erreur (p: 174)
- Norme C99 (ISO/IEC 9899:1999) :
-
- 6.10.5 Directive d'erreur (p: 159)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 3.8.5 Directive d'erreur
Voir aussi
|
Documentation C++
pour
Directives de diagnostic
|