Как использовать #ifdef с условием ИЛИ?

244

Извините, что задали очень простой вопрос. Я бы хотел установить условие OR в директиву #ifdef. Как это сделать ? Я попытался

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

Это не работает? Как правильно?

Кто я
источник
15
Если вы используете |«или» в своих условных выражениях C, вы делаете это неправильно.
Джонатон Рейнхарт

Ответы:

524

Как это

#if defined(LINUX) || defined(ANDROID)
zvrba
источник
25

ИЛИ условие в #ifdef

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

или-

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

Оба выше одинаковы, который вы используете, просто зависит от ваших предпочтений.


PS : #ifdefэто просто краткая форма #if defined, однако не поддерживает сложные условия.


Дальше-

  • И: #if defined LINUX && defined ANDROID
  • XOR: #if defined LINUX ^ defined ANDROID
Минхас Камаль
источник