Как проверить, определен ли один из нескольких макросов в одном #ifdef?

У меня есть код на C ++, и я хочу выполнить действие, если __APPLE__ или же __linux Макросы определены.

Если бы я сделал это как обычно if условно, было бы легко использовать ||:

if (something || something) { .. code .. }

Но из того, что я знаю, нет || оператор для #ifdef заявления. Как бы я проверить, если __APPLE__ или же __linux определяется с помощью одного #ifdef заявление?

13

Решение

Вы не можете в одном #ifdef будет один #if делать вместо этого?

#if defined(__APPLE__) || defined(__linux)

это также работает, если вы предпочитаете

#if defined __APPLE__ || defined __linux
24

Другие решения

#if defined(__APPLE__) || defined(__linux)
3

#if defined __APPLE__ || defined __linux
2

В моем C ++ есть.

#if defined(__APPLE__) || defined(__linux)
// ...
#endif
2