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?


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)

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.