як використовувати #ifdef з умовою АБО?


244

Вибачте за те, що ви задали дуже основне питання. Я хотів би встановити умову АБО в директиві #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.