comment utiliser #ifdef avec une condition OR?

244

Désolé d'avoir posé une question très basique. Je voudrais définir la condition OR dans la directive #ifdef.? Comment faire ça ? j'ai essayé

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

Cela n'a pas fonctionné? Quelle est la bonne façon?

Qui suis je
la source
15
Si vous utilisez aussi |pour "ou" dans vos conditions C, vous vous trompez.
Jonathon Reinhart du

Réponses:

524

Comme ça

#if defined(LINUX) || defined(ANDROID)
zvrba
la source
25

Condition OU dans #ifdef

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

ou-

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

Les deux ci-dessus sont identiques, celui que vous utilisez dépend simplement de vos préférences.


PS : #ifdefest tout simplement la forme courte de #if defined, mais ne prend pas en charge la condition complexe.


Plus loin-

  • ET: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Minhas Kamal
la source