1.8 ビルドオプションに基づく ARM C および C++ ライブラリのバリアントの選択

アプリケーションをビルドする場合は、ターゲットアーキテクチャ、命令セット、バイト順序など、いくつか選択を行う必要があります。ビルドオプションを使用してこれらの選択をコンパイラに伝えます。リンカは、これらのビルドオプションに適合する C および C++ ライブラリバリアントを選択します。

ARM C および C++ ライブラリバリアントに影響を与える選択には以下の内容が含まれています。
ターゲットアーキテクチャおよび命令セット
ARM または Thumb 命令セット。
バイト順序
ビッグエンディアンまたはリトルエンディアン
浮動小数点のサポート
ソフトウェア(SoftVFP)、ハードウェア(VFP)、半精度拡張と倍精度拡張のいずれかをサポートしているソフトウェアまたはハードウェア、あるいは浮動小数点のサポートなし。
位置非依存
データにアクセスするさまざまな方法
  • 絶対アドレス。
  • sb 相対(読み出し/書き込み位置非依存)。
  • pc 相対(fpic)。
コードにアクセスするさまざまな方法
  • 絶対アドレス(適切な場合)。
  • pc 相対(読み出し/書き込み位置非依存)。
標準の C ライブラリでは、これらのオプションをすべてサポートするバリアントが用意されています。
位置非依存の C++ コードでは、--apcs=/fpic を使用する必要があります。

microlib では、位置非依存がサポートされていません。
アセンブラコード、C コード、または C++ コードをリンクする際、リンカは、ユーザが指定したビルドオプションに適合する C および C++ ライブラリバリアントを選択します。主なビルドオプションの組み合わせごとに ISO C ライブラリのバリアントが 1 つあります。
関連情報
別々にコンパイルおよびアセンブルしたモジュールとのコードの互換性
--apcs=qualifier...qualifier コンパイラオプション
--arm コンパイラオプション
--bigend コンパイラオプション
--fpu=name コンパイラオプション
--littleend コンパイラオプション
--thumb コンパイラオプション
--fpu=name リンカオプション
--ropi リンカオプション
--rwpi リンカオプション
--arm アセンブラオプション
--bigend アセンブラオプション
--fpu アセンブラオプション
--littleend アセンブラオプション
--thumb アセンブラオプション
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.