インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド

GCC* との互換性および相互運用性

インテル® C++ コンパイラーは、GNU* コンパイラー・コレクション (gcc) のほとんどのバージョンと互換性があります。リリースノートに互換バージョンの一覧があります。

インテル® C++ コンパイラーで作成された C 言語オブジェクト・ファイルは、gcc* および C/C++ 言語ライブラリーとバイナリー互換です。インテル® C++ コンパイラーまたは gcc* コンパイラーを使用して、オブジェクト・ファイルをリンカーに渡すことができます。インテル® C++ コンパイラーにより生成された疑似オブジェクト・ファイルまたは疑似オブジェクト・ファイルのライブラリーをリンカーに渡すには、インテル® C++ コンパイラーで提供されるリンクツールを使用します。

-ffat-lto-objects コンパイラー・オプションによるリンク時の最適化は gcc* との互換性のために提供されています。 これは、オブジェクト・ファイルのリンクとアーカイブに ldar を使用できることを意味しますが、これらを使用するとファイル間の最適化は行われません -fno-fat-lto-objects コンパイラー・オプションは、IPO 疑似オブジェクト・ファイルを xild でリンクし、xiar でアーカイブする場合に使用できます。

インテル® C++ コンパイラーは GNU コンパイラーが提供する多くの言語拡張をサポートしています。詳細は、http://www.gnu.org/home.ja.html を参照してください。

式文内に次の項目を置くことが禁止されていることを除き、式文はサポートされています。

式文からの分岐、コンストラクター初期化子内の式文は許可されません。式文では可変長配列が許可されなくなりました。

インテル® C++ コンパイラーは、アセンブラー・コードが AT&T* System V/386 構文を使用する場合、gcc スタイルのインライン・アセンブリーをサポートします。

gcc* との互換性保持

あるコンパイラーで生成されたオブジェクト・ファイルやライブラリーが別のコンパイラーで生成されたオブジェクト・ファイルやライブラリーとリンク可能で、生成される実行ファイルが正しく動作する場合、C++ コンパイラーは互換性を保持することができます。インテル® C++ コンパイラーは、GNU* コンパイラーと互換性があります。

インテル® C++ コンパイラーと GNU* gcc コンパイラーは、次の事前定義済みマクロをサポートします。

これらのマクロを定義しないようにするには、-no-gcc オプションを指定します。 gcc との互換性保持 (-cxxlib) が必要な場合、-no-gcc オプションを使用しないでください。

警告

これらのマクロを定義しないと、システム・ヘッダー・ファイルのパスが使用されます。このような代替パスは、十分にテストされていないか、または互換性がないことがあります。

オープンソースのツールとの互換性

インテル® C++ コンパイラーでは、次のオープンソース・ツールのサポートが強化されています。

関連情報


このヘルプトピックについてのフィードバックを送信