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


244

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

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

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


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

Ответы:



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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.