como usar #ifdef com uma condição OR?

244

Desculpe por fazer uma pergunta muito básica. Gostaria de definir a condição OR na diretiva #ifdef. Como fazer isso ? eu tentei

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

Não funcionou? Qual é o caminho correto?

Quem sou eu
fonte
15
Se você estiver usando |"ou" também nos seus condicionais C, estará fazendo errado.
Jonathon Reinhart

Respostas:

523

Como isso

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

Condição OR em #ifdef

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

ou-

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

Ambos acima são os mesmos, qual deles você usa simplesmente depende de sua preferência.


PS : #ifdefé simplesmente a forma abreviada de #if defined, no entanto, não suporta condições complexas.


Mais distante-

  • E: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Minhas Kamal
fonte