ビルド済ランタイムライブラリ
ビルド済のランタイムライブラリは、以下のオプションのさまざまな組合せについて設定されています。
プロセッサ選択
データモデル
ライブラリ構成(ノーマルまたはフル)
リンカは、正しいライブラリファイルとライブラリ設定ファイルを自動的にインクルードします。ライブラリ設定を明示的に指定するには、‑‑dlib_configコンパイラオブジェクトを使用します。ただし、フル ライブラリ構成は Libc++ に存在する唯一の構成です。‑‑dlib_config コンパイラオプションは、別の設定を指定するために使用できません。
ヒント
To see which runtime library files that the linker includes, use the linker option ‑‑log libraries, see ‑‑log.
ライブラリファイル名構文
| CPUアーキテクチャを指定します。
|
| デフォルトのプロセッサ/実行モードの指定:
|
| バイトオーダーを指定:
|
| ライブラリ構成を指定:
|
| ライブラリがRWPIをサポートするかどうかを指定:
存在しない = RWPIをサポートしない |
| 浮動小数点の実行方法を指定:
存在しない = ソフトウェア実行 |
| 64ビットモードのデータモデルの指定:
表示なし = ライブラリは 32 ビットモードでの使用 |
| セミホスティングのメカニズムを指定:
|
| ライブラリが分岐保護(PACBTI)をサポートするかどうかを指定します。
not present = PACBTIに対応していない |
ライブラリオブジェクトファイルはディレクトリarm\lib\にあり、ライブラリ設定ファイルはarm\inc\ディレクトリにあります。
ライブラリファイルのグループ
ライブラリは、以下のグループのライブラリ関数で提供されます。
Cライブラリ関数のライブラリファイル
これらは標準Cにより定義された関数で、たとえばprintfやscanfなどです。このライブラリには数学関数は含まれません。
ライブラリファイルの名前は、以下のように構成されます。
dl{arch}_{mode}{endian}{lib-config}[rwpi][abi][pacbti].aこれは、特に次のことを表します。
dl{4t|5E|6M|6Mx|7M|7Mx|7Sx|8A}_{a|t|x}{l|b}{n|f}[s|g][44|88][p].aC++ライブラリ関数のライブラリファイル
これらはC++により定義される関数で、標準のC++のサポートを使用してコンパイルされます。
Dinkumware C++14 ライブラリ(dlpp) および Libc++ C++17 ライブラリ(dllibcpp)には別のライブラリがあります。
ライブラリファイルの名前は、以下のように構成されます。
dlpp{arch}_{mode}{endian}{fp}_{lib-config}c[rwpi][abi][pacbti].a
dllibcpp{arch}_{mode}{endian}{fp}_fc[rwpi][abi][pacbti].a具体的には以下のようになります。:
dlpp{4t|5E|6M|6Mx|7M|7Mx|7Sx|4as|7as|8A}_{a|t|x}{l|b}{v|s|}_{n|f}c[s|g][44|88][p].a
dllibcpp{4t|5E|6M|6Mx|7M|7Mx|7Sx|4as|7as|8A}_{a|t|x}{l|b}{v|s|}_fc[s|g][44|88][p].aC++ランタイムライブラリ関数のライブラリファイル
C++に必要なランタイム関数があり、Libc++ とDLIB C++ ライブラリの両方で使用されます。
ライブラリファイルの名前は、以下のように構成されます。
dlpprt{arch}_{mode}{endian}_{lib-config}c[rwpi][abi][pacbti].aこれは、特に次のことを表します。
dlpprt{4t|5E|6M|6Mx|7M|7Mx|7Sx|4as|7as|8A}_{a|t|x}{l|b}_{n|f}c[s|g][44|88][p].a数学関数のライブラリファイル
これらは浮動小数点演算用の関数および標準Cで定義されたシグネチャに浮動小数点型を持つ関数です。たとえば、sqrtのような関数です。
ライブラリファイルの名前は、以下のように構成されます。
m{arch}_{mode}{endian}[fp][rwpi][abi][pacbti].aこれは、特に次のことを表します。
m{4t|5E|6M|6Mx|7M|7Mx|7Sx|8A}_{a|t|x}{l|b}[v|s][g][44|88][p].aスレッドサポート関数のライブラリファイル
ライブラリファイルの名前は、以下のように構成されます。
th{arch}_{mode}{endian}{lib-config}[abi][pacbti].aこれは、特に次のことを表します。
th{4t|5E|6M|6Mx|7M|7Mx|7Sx|8A}_{a|t|x}{l|b}{n|f}[44|88][p].aタイムゾーンと夏時間のサポート関数のライブラリファイル
ライブラリファイルの名前は、以下のように構成されます。
tz{arch}_{mode}{endian}[rwpi][abi][pacbti].aこれは、特に次のことを表します。
tz{4t|5E|6M|6Mx|7M|7Mx|7Sx|8A}_{a|t|x}{l|b}[s|g][44|88][p].aランタイムサポート関数のライブラリファイル
これらの関数は、システム起動、初期化、非浮動小数点AEABIサポートルーチン、C/C++標準に含まれる一部の関数用です。
ライブラリファイルの名前は、以下のように構成されます。
rt{arch}_{mode}{endian}[rwpi][abi][pacbti].aこれは、特に次のことを表します。
rt{4t|5E|6M|6Mx|7M|7Mx|7Sx|8A}_{a|t|x}{l|b}[g][44|88][p].aデバッグサポート関数のライブラリファイル
これらの関数は、セミホストインタフェースのデバッグサポート用です。ライブラリファイルの名前は、以下のように構成されます。
sh{debug-interface}_{endian}[rwpi][pacbti].aまたは
sh{arch}_{endian}[rwpi][abi][pacbti].aこれは、特に次のことを表します。
sh{s|b|i}_{l|b}[g][p].aまたは
sh{6Mx|7Mx|7Sx|8A}_{l|b}[g][44|88][p].a