このトピックは、Linux* にのみ適用されます。
インテル® oneAPI DPC++/C++ コンパイラーは、GNU* コンパイラー・コレクション (GCC) のほとんどのバージョンと互換性があります。リリースノートに互換バージョンの一覧があります。
このコンパイラーで作成された C 言語オブジェクト・ファイルは、GCC および C/C++ 言語ライブラリーとバイナリー互換です。インテル® oneAPI DPC++/C++ コンパイラーまたは GCC コンパイラーを使用して、オブジェクト・ファイルをリンカーに渡すことができます。
インテル® oneAPI DPC++/C++ コンパイラーは GNU* コンパイラーが提供する多くの言語拡張をサポートしています。詳細は、http://www.gnu.org/home.ja.html を参照してください。
動的に初期化されたローカル静的変数
ローカルの非 POD クラス定義
try/catch
可変長配列
あるコンパイラーで生成されたオブジェクト・ファイルやライブラリーが別のコンパイラーで生成されたオブジェクト・ファイルやライブラリーとリンク可能で、生成される実行ファイルが正しく動作する場合、C++ コンパイラーは互換性を保持することができます。インテル® oneAPI DPC++/C++ コンパイラーは、GNU* コンパイラーと互換性があります。
インテル® oneAPI DPC++/C++ コンパイラーと GCC は、次の事前定義済みマクロをサポートします。
__GNUC__
__GNUG__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__
インテル® oneAPI DPC++/C++ コンパイラーは、システム上の GNU* ヘッダーファイル (stdio.h を含む)、GNU* リンカーとライブラリーなどの GNU* ツールを使用します。そのため、システム上の GCC /G++ バージョンと互換性がなければなりません。
デフォルトでは、コンパイラーは、PATH 環境変数を基にインストールされている GCC/G++ バージョンを特定します。
システムのデフォルトの GCC/G++ バージョン以外を使用する場合は、-gcc-toolchain コンパイラー・オプションで使用するベース・ツールチェーンの場所を指定する必要があります。次に例を示します。
システムのデフォルトバージョンではコンパイルできず、互換性のためレガシーバージョンを使用しなければならない場合。例えば、システムのデフォルトバージョンと互換性のないサードパーティーのライブラリーを使用する場合。
システムのデフォルトの GCC/G++ よりも新しいバージョンを使用する場合。
インテル® oneAPI DPC++/C++ コンパイラーのドライバーは、GCC/G++ のデフォルトバージョンまたは指定したバージョンを使用して、ヘッダーとライブラリーの場所を特定します。
インテル® oneAPI DPC++/C++ コンパイラーでは、次のオープンソース・ツールのサポートが強化されています。
GNU* Libtool - パッケージ開発者に汎用共有ライブラリーのサポートを提供するスクリプトです。
Valgrind - x86 系プロセッサー上で、実行ファイルのデバッグとプロファイルを行うための柔軟なシステムです。
GNU* Automake - makefile.am というファイルから自動で makefile.ins を作成するツールです。