概要: アプリケーションの移植

このセクションでは、GCC* の C/C++ コンパイラー Linux* 版のアプリケーションをインテル(R) C/C++ コンパイラー Linux 版に移植する際の基本的なアプローチを説明します。これらの Linux コンパイラーは、それぞれ次のように対応しています。

Language (言語) インテル
コンパイラー
GCC*
コンパイラー
C icc gcc
C++ icpc g++

GNU gcc から Microsoft* Visual C++* へ移植する際に -diag-enable port-win オプションを使用して一般的な構文の問題に関する警告を表示する方法についての情報も含まれています。

アプリケーションの移植を簡単に説明するために、ここでは特に明記されている場合を除いて、"gcc" は GNU コンパイラー・コレクションの gcc コンパイラーと g++ コンパイラーの両方を指します。

インテル・コンパイラーを使用する利点

多くの場合、gcc からインテル・コンパイラーへのアプリケーションの移植は、gcc を起動する代わりにインテル・コンパイラー (icc) を起動するという簡単なものです。インテル・コンパイラーを使用すると、特にインテル(R) プロセッサーで実行されるアプリケーションのパフォーマンスが向上します。多くの場合、インテル・プロセッサー以外で実行する場合でも、アプリケーションのパフォーマンスが向上します。アプリケーションをインテル・コンパイラーでコンパイルする際、以下の項目へアクセスできます。

インテル・コンパイラーは、gcc との互換性相互運用性があり、gcc アプリケーションのインテル・コンパイラーへの移植にはバイナリー互換の利点もあります。そのため、gcc アプリケーションのライブラリーをリビルドしてはなりません。インテル・コンパイラーでは、gcc 製品で提供しているようなコンパイラー・オプションマクロ環境変数を多くサポートしています。

移植の手法

多くの gcc アプリケーションでは、gcc によるコンパイルと icc によるコンパイルによる相違を考慮するため、インテル・コンパイラーへの移植には makefile を変更する以上の手間が少々かかります。その他の考慮事項についても記述します。

次のステップ