web-dev-qa-db-ja.com

複数のマクロの1つが単一の#ifdefで定義されているかどうかを確認するにはどうすればよいですか?

C++コードがいくつかあり、__Apple__または__linuxマクロが定義されている場合にアクションを実行したいと思います。

通常のif条件付きで実行した場合、||を使用すると簡単になります。

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

しかし、私が知っている限りでは、||ステートメントには#ifdef演算子はありません。単一の__Apple__ステートメントを使用して__linuxまたは#ifdefが定義されているかどうかを確認するにはどうすればよいですか?

15
beakr

単一の#ifdefで、代わりに単一の#ifで行うことはできませんか?

#if defined(__Apple__) || defined(__linux)

これは、必要に応じて機能します

#if defined __Apple__ || defined __linux
28
john

私のC++にはあります。

#if defined(__Apple__) || defined(__linux)
  // ...
#endif
2
deepmax