Duplicar posibles:
C preprocessor: using #if inside #define?instrucciones de preprocesador dentro definen?
¿Hay algún truco para tener directivas del preprocesador en el interior del lado derecho de definir? El problema es que el preprocesador dobla todos los rhs en una línea larga. Pero tal vez hay un truco?
Ejemplo de lo que yo quiero en los RHS es
#define MY_CHECK \
#ifndef MY_DEF \
# error MY_DEF not defined \
#endif
?
El propósito es una brevedad: tener un atajo de una línea en lugar de una secuencia de controles de varias líneas.
... _algunos código_ es mejor que no tengan comas tampoco. –
@John: sí, aunque con C99 puede usar '...'/'__VA_ARGS__' para evitar ese problema –
poniendo la secuencia de las directivas de preprocesador en un archivo .h por separado e incluirlo es una buena idea. – Andrei