Diagnostic directives
From cppreference.net
<
c
|
preprocessor
Muestra el mensaje de error dado y hace que el programa sea incorrecto , o muestra el mensaje de advertencia dado sin afectar la validez del programa (since C23) .
Contenidos |
Sintaxis
#error
mensaje-de-diagnóstico
|
(1) | ||||||||
#warning
mensaje-de-diagnóstico
|
(2) | (desde C23) | |||||||
Explicación
1)
Después de encontrar la directiva
#error
, una implementación muestra el mensaje
diagnostic-message
y hace que el programa sea incorrecto (la compilación se detiene).
2)
Igual que
(1)
, excepto que la validez del programa no se ve afectada y la compilación continúa.
diagnostic-message puede consistir en varias palabras no necesariamente entre comillas.
Notas
Antes de su estandarización en C23,
#warning
ha sido proporcionado por muchos compiladores en todos los modos como una extensión conforme.
Ejemplo
Ejecutar este código
#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 !!"); }
Salida posible:
The compiler used conforms to the ISO C Standard !!
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 6.10.5 Directiva de error (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 6.10.5 Directiva de error (p: 126-127)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 6.10.5 Directiva de error (p: 174)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 6.10.5 Directiva de error (p: 159)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 3.8.5 Directiva de error
Véase también
|
Documentación de C++
para
Directivas de diagnóstico
|