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?


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)

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.