preprocesador ifdef example elif debug c macros if-statement

ifdef - C macro:#si se comprueba la igualdad



ifndef c example (3)

De hecho eso debería funcionar. Consulte http://gcc.gnu.org/onlinedocs/cpp/If.html#If

Esa referencia es precisa, pero está escrita en "formato de estándares": de manera abstracta, sin ejemplos.

¿Hay alguna forma de verificar la igualdad numérica en las macros?

Quiero hacer algo como

#define choice 3 #if choice == 3 .... #endif #if choice == 4 ... #endif

¿Las macros C tienen soporte para cosas como esta?


Otra forma de escribir su código usa las directivas #elif encadenadas:

#if choice == 3 ... #elif choice == 4 ... #else #error Unsupported choice setting #endif

Tenga en cuenta que si la choice no está #defined , el compilador (preprocesador) la considera como si tuviera el valor 0 .


Por lo que sé, debería funcionar. Qué compilador estas usando ?

PD: ¡Sólo para información, los nombres definidos se escriben generalmente en mayúsculas!

#define CHOICE 3