インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーをターゲットとする場合にのみ適用されます。
xiar または xild -lib を使用してオフロードコードのルーチンを含むスタティック・アーカイブ・ライブラリーを作成するには、次の操作が必要です。
xiar が CPU のライブラリー lib.a とコプロセッサーの対応するライブラリー libMIC.a の両方を作成するように、-qoffload-build オプションを指定します。
xiar または xild にライブラリーの名前とメンバーファイルのリストを提供するときに、lib.a と file.o のように、CPU ライブラリーと CPU オブジェクト・ファイルに関連付けられているファイル名のみを含めます。xiar および xild は、対応するコプロセッサー・ライブラリー libMIC.a とメンバーファイル fileMIC.o をそれぞれ自動的に操作します。
d (削除)、r (置換)、m (移動)、x (抽出) を含む、ar で利用可能な同じオプションを使用します。詳細は、ar の man ページを参照してください。
これらのオプションを使用する構文は、次のとおりです。
xiar -qoffload-build ar optionsarchive [member...]
xild -lib -qoffload-build ar optionsarchive [member...]
オフロードコードを含むスタティック・アーカイブをリンクする場合は、リンカーオプション -Lpath および -llibname を使用します。コンパイラー・ドライバーは、対応するコプロセッサー・ライブラリー libMIC.a をリンクフェーズに自動的に追加します。
次の xiar コマンドは、CPU ライブラリー libsample.a およびコプロセッサー・ライブラリー libsampleMIC.a を作成または変更します。
xiar -qoffload-build rcs libsample.a obj1.o obj2.o
libsample.a には CPU オブジェクト・ファイル obj1.o および obj2.o が含まれます。 libsampleMIC.aにはコプロセッサー・オブジェクト・ファイル obj1MIC.o および obj2MIC.o が含まれます。
次のコマンドは、myprogram.c をコンパイルしてスタティック・ライブラリーとリンクします。
icc myprogram.c libsample.a icc myprogram.c -lsample