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