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?


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)

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.