jak używać #ifdef z warunkiem OR?

244

Przepraszamy za bardzo podstawowe pytanie. Chciałbym ustawić warunek OR w dyrektywie #ifdef.? Jak to zrobić ? próbowałem

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

To nie działało? Jaka jest właściwa droga?

Kim jestem
źródło
15
Jeśli używasz również |„lub” w warunkach C, robisz to źle.
Jonathon Reinhart

Odpowiedzi:

523

Lubię to

#if defined(LINUX) || defined(ANDROID)
zvrba
źródło
24

LUB warunek w #ifdef

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

lub-

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

Oba powyższe są takie same, którego używasz po prostu zależy od twoich preferencji.


PS : #ifdefjest po prostu krótką formą #if defined, jednak nie obsługuje złożonego warunku.


Dalej-

  • I: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Minhas Kamal
źródło