XL C/C++ は、次の再配布可能ライブラリーを提供しています。ご使用のアプリケーションによっては、これらのライブラリーの 1 つ以上を、XL C/C++ で作成したアプリケーションとともに配送しなければならない場合があります。
XL C/C++ は、次の順序でライブラリーをリンクします。
次の表は、"Hello World" 型プログラムのリンク順序をより詳細に示しています。
示されているディレクトリー・パスは、特定のコンパイラー構成によっては異なる場合があります。ユーザーの特定のコンパイラー構成に固有の情報については、システムにインストールされているデフォルトの構成ファイルを参照してください。一般的なコンパイラーのデフォルトの構成ファイルについては、構成ファイル内のコンパイラー・オプションの指定を参照してください。
lD コマンド・コンポーネント | オプション | lD 引き数 | xldriver 属性 |
---|---|---|---|
lD | gcc, g++ | collect2 | ld / ld_64 |
xlc, xlC | lD | ||
例外処理パーソナリティー・ハンドラーを使用可能にする | all | --eh-frame-hdr | xldriver によってコマンド行に追加されるオプション |
.ident ディレクティブを生成する | -Qn |
|
|
これ以外の場合 | -Qy | xldriver によってコマンド行に追加されるオプション | |
出力の種類 | -shared -static | -shared | xldriver によってコマンド行に追加されるオプション |
-shared | -shared | ||
-static | -static | ||
これ以外の場合 |
| ||
arch | 32 ビット | -melf32ppclinux | xldriver によってコマンド行に追加されるオプション |
64 ビット | -mel64ppc | ||
動的ローダー | 32 ビット !-shared !-static | -dynamic-linker /lib/ld.so.1 | dynlib |
64 ビット !-shared !-static | -dynamic-linker /lib64/ld64.so.1 | dynlib64 | |
call to main( ) | 32 ビット !-shared | /usr/libcrt1.o | crt |
64 ビット !-shared | /opt/cross/powerpc64-linux/lib/crt1.o | crt_64 | |
32 ビット !-shared -p | /usr/lib/gcrt1.o | mcrt | |
32 ビット !-shared -pg | gcrt | ||
64 ビット !-shared -p | /opt/cross/powerpc64-linux/lib/gcrt1.o | mcrt_64 | |
64 ビット !-shared -pg | gcrt_64 | ||
init/fini 関数 prolog | 32 ビットすべて | /usr/lib/crti.o | crtp |
64 ビットすべて | /opt/cross/powerpc64-linux/lib/crti.o | crtp_64 | |
init/fini レジスター | -shared -static | crtbeginT.o | crtbegin_t / crtbegin_t_64 |
-static | |||
-shared | crtbeginS.o | crtbegin_s / crtbegin_s_64 | |
これ以外の場合 | crtbegin.o | crtbegin / crtbegin_64 | |
ライブラリー検索パス | 32 ビット gcc | -L<gcc>/gcc-lib | gcc_libdirs |
64 ビット gcc | -L<gcc64>/gcc-lib | gcc_libdirs_64 | |
32 ビット g++ | -L<gcc>/gcc-lib/powerpc-suse-linux-gnu/3.2
-L<gcc>/gcc-lib | gcc_libdirs | |
64 ビット g++ | -Lgcc64/gcc-lib/powerpc64-linux-gnu/3.2
-Lgcc64/gcc-lib | gcc_libdirs_64 | |
ユーザー .o ファイルおよびライブラリー | all |
|
|
vacpp ライブラリー | all |
| libraries2 / libraries2_64 |
C++ 標準ライブラリー | g++ | -lstdc++ -lm | gcc_cpp_libs / gcc_cpp_libs_64 |
C 標準ライブラリー | gcc
-static
-static
-shared-libgcc
| -lgcc
-lgcc_eh -lc -lgcc -lgcc_eh | gcc_static_libs / gcc_static_libs_64 |
g++
-shared-libgcc | -lgcc_s
-lgcc -lc -lgcc_s -lgcc | gcc_shared_libs / gcc_shared_libs_64 | |
all |
| gcc_libs / gcc_libs_64 | |
保管/復元ルーチン | all | crtsavres.o | crtsavres / crtsavres_64 |
init/fini run |
| crtend.o | crtend / crtend_64 |
-shared | crtendS.o | crtend_s / crtend_s_64 | |
init/fini 関数 epilog | all | /usr/lib/crtn.o | crte |
/opt/cross/powerpc64-linux/lib/crtn.o | crte_64 |