¿Cómo usar #ifdef con una condición OR?

244

Perdón por hacer una pregunta muy básica. Me gustaría establecer la condición OR en la directiva #ifdef. Como hacer eso ? Lo intenté

#ifdef LINUX | ANDROID
...
..
#endif 

¿No funcionó? ¿Cuál es la forma correcta?

Quién soy
fuente
15
Si también está usando |"o" en sus condicionales C, lo está haciendo mal.
Jonathon Reinhart

Respuestas:

523

Me gusta esto

#if defined(LINUX) || defined(ANDROID)
zvrba
fuente
24

O condición en #ifdef

#if defined LINUX || defined ANDROID
//...
#endif

o-

#if defined(LINUX) || defined(ANDROID)
//...
#endif

Ambos anteriores son iguales, el que use simplemente depende de su preferencia.


PD : #ifdefes simplemente la forma abreviada de #if defined, sin embargo, no admite condiciones complejas.


Más lejos-

  • Y: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Minhas Kamal
fuente