Wie verwende ich #ifdef mit einer ODER-Bedingung?

244

Entschuldigen Sie die sehr grundlegende Frage. Ich möchte die ODER-Bedingung in der Direktive #ifdef festlegen. Wie geht das ? Ich habe es versucht

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

Es hat nicht funktioniert? Was ist der richtige Weg?

Wer bin ich
quelle
15
Wenn Sie |in Ihren C-Bedingungen auch "oder" verwenden, machen Sie es falsch.
Jonathon Reinhart

Antworten:

523

So was

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

ODER-Bedingung in #ifdef

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

oder-

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

Beide oben genannten sind gleich. Welche Sie verwenden, hängt einfach von Ihren Vorlieben ab.


PS : #ifdefist einfach die Kurzform von #if defined, unterstützt jedoch keine komplexen Zustände.


Des Weiteren-

  • UND: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Minhas Kamal
quelle