15.7. 各種 Red Hat 製品との C++ の互換性

Red Hat エコシステムには、Red Hat Enterprise Linux および Red Hat Developer Toolset で提供される、GCC コンパイラーおよびリンカーのバージョンが複数含まれます。これらのバージョン間の C++ ABI の互換性は以下のとおりです。

  • GCC 4.8 がベースになり、Red Hat Enterprise Linux 7 の一部として直接提供されている システムコンパイラー は、C++98 標準仕様 (C++03 としても知られています)、およびそのバリアント (GNU 拡張あり) へのコンパイルおよびリンクのみをサポートします。
  • -std=C++98 または -std=gnu++98 オプションで明示的に構築された C++98 準拠のバイナリーまたはライブラリーは、使用するコンパイラーのバージョンにかかわらず、自由に組み合わせることができます。
  • C++11 および C++14 言語のバージョンの使用および併用は、Red Hat Developer Toolset のコンパイラーを使用しており、それぞれのフラグを使用してコンパイルされたすべての C++ オブジェクトが同じメジャーバージョンの GCC を使用して構築されている場合にのみサポートされます。
  • Red Hat Developer Toolset および Red Hat Enterprise Linux ツールチェーンで構築された C++ ファイルをリンクする場合には、Red Hat Developer Toolset バージョンのコンパイラーとリンカーが推奨されます。
  • Red Hat Enterprise Linux 6 および 7、および Red Hat Developer Toolset (バージョン 4.1 まで) のコンパイラーにおけるデフォルト設定は -std=gnu++98 です。つまり、C++98 と GNU 拡張です。
  • Red Hat Developer Toolset 6、6.1、7、および 7.1 のコンパイラーのデフォルト設定は -std=gnu++14 です。つまり、C++14 と GNU 拡張です。

関連資料


このページには機械翻訳が使用されている場合があります (詳細はこちら)。