Preprocesador
De cppreference.com
< cpp
El preprocesador se ejecuta antes comenzar la compilación. El resultado del preprocesamiento es un único archivo que después se pasa al compilador propiamente dicho.
[editar] Directivas
Las directivas de preprocesamiento controlan el comportamiento del preprocesador. Cada directiva ocupa una línea y tiene el siguiente formato:
- El carácter
# - instrucción de preprocesamiento (una de las siguientes:
define,undef,include,if,ifdef,ifndef,else,elif,endif,line,error,warning,pragma)[1] - argumentos (dependen de la instrucción)
- salto de línea
La directiva nula (# seguido por un salto de línea) está permitida y no tiene ningún efecto.
[editar] Capacidades
El preprocesador tiene la capacidad de traducir archivos fuente:
- Compilar condicionalmente partes del archivo de origen (controlado por las directivas
#if,#ifdef,#ifndef,#else,#elify#endif). - reemplazar macros de texto, con la posibilidad de concatenar o entrecomillar identificadores (controlado por las directivas
#definey#undef, y los operadores#y##). - incluir otros archivos (controlado por la directiva
#include) - causar un warning o advertencia (controlado por la directiva
#warning). - causar un error (controlado por la directiva
#error).
Se pueden controlar los siguientes aspectos del preprocesador:
- comportamiento definido por la implementación (controlado por directivas
#pragma). - nombre de archivo e información de línea disponible para el preprocesador (controlado por directivas
#line).
[editar] Notas
- ↑ Éstas son las directivas definidas por el estándar. El estándar no define el comportamiento de otras directivas: podrían ser ignoradas, tener algún significado útil o hacer que el programa quede incorrectamente formado. Incluso si son ignoradas, se eliminan del código fuente cuando termina el preprocesamiento.

