come usare #ifdef con una condizione OR?


244

Ci scusiamo per la domanda molto semplice. Vorrei impostare la condizione OR nella direttiva #ifdef. Come farlo ? Provai

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

Non ha funzionato? Qual è il modo corretto?


15
Se stai usando anche |per "o" nei tuoi condizionali C, stai sbagliando.
Jonathon Reinhart,

Risposte:


524

Come questo

#if defined(LINUX) || defined(ANDROID)

25

Condizione OR in #ifdef

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

o-

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

Entrambi sopra sono uguali, quello che usi dipende semplicemente dalle tue preferenze.


PS : #ifdefè semplicemente la forma abbreviata di #if defined, tuttavia non supporta condizioni complesse.


Ulteriore-

  • E: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.