- Inclusión de archivos fuente (#include)
- Visión general de las directivas de sustitución de macros
- Forma simple de #define
- Forma de #define como pseudofunción
- Operadores especiales '#' y '##' dentro de definiciones #define
- Anulación de la sustitución de macros (#undef)
- Constantes predefinidas del preprocesador
- Compilación condicional (#ifdef/#ifndef/#else/#endif)
- Propiedades generales del programa (#property)
Anulación de la sustitución de macros (#undef)
Las sustituciones registradas con #define pueden deshacerse si ya no son necesarias tras un determinado fragmento de código. Para ello se utiliza la directiva #undef.
#undef macro_identifier |
Ello es útil en especial si necesita definir la misma macro de diferentes maneras en distintas partes del código. Si el identificador especificado en #define ya ha sido registrado en alguna línea de código anterior (por otra directiva #define ), entonces la antigua definición se sustituye por la nueva, y el preprocesador genera la advertencia «redefinición de macro». El uso de #undef evita el aviso al tiempo que indica explícitamente la intención del programador de no utilizar una determinada macro más adelante en el código.
#undef no puede anular la definición de macros predefinidas.