--library_interface=lib

このオプションを使用すると、選択したライブラリのタイプと互換性があるコードを生成できます。

Show/hide構文

--library_interface=lib

lib には以下のいずれかを指定できます。

none

このオプションを使用すると、コンパイラの出力が ISO C90 ライブラリと連動するように指定されますが、コードが正常に動作するように要求されい限り、AEABI 定義のライブラリ関数は使用されません。例えば、このオプションは、__aeabi_memcpy のように最適化としてのみ導入される AEABI 定義関数が使用されないようにします。

armcc

このオプションを使用すると、コンパイラの出力が ARM コンパイラ 4.1 以降と連動するように指定できます。

armcc_c90

動作は --library_interface=armcc と似ています。ただし、C90 によって予約されていない関数名に対する入力ソースコード内の参照がコンパイラによって変更されない点が異なりす。また、一部の C99 math.h 関数名には、__hardfp_tgamma のように、接頭辞 __hardfp_ が付く場合があります。

aeabi_clib90

このオプションを使用すると、コンパイラの出力が ARM 組み込みアプリケーションバイナリインタフェース(AEABI)準拠の ISO C90 ライブラリと連動するように指定できます。

aeabi_clib99

このオプションを使用すると、コンパイラの出力が AEABI 準拠の ISO C99 ライブラリと連動するように指定できます。

aeabi_clib

このオプションを使用すると、コンパイラの出力が AEABI 準拠の ISO C ライブラリと連動するように指定できます。

オプション --library_interface=aeabi_clib を選択すると、使用されたソース言語に応じて --library_interface=aeabi_clib90 または --library_interface=aeabi_clib99 を指定した場合と同じになります。

選択するソース言語は、選択されるコマンドラインオプションと使用されるファイル名接尾文字に応じて異なります。

aeabi_glibc

このオプションを使用すると、コンパイラの出力が AEABI 準拠の GNU C ライブラリと連動するように指定できます。

aeabi_clib90_hardfp

このオプションを使用すると、コンパイラの出力が AEABI 準拠の ISO C90 ライブラリと連動するように指定できます。また、C ライブラリ(数学ライラリを含む)の呼び出しで、ハードウェア浮動小数点ライブラリ関数が呼び出されるようになります。

aeabi_clib99_hardfp

このオプションを使用すると、コンパイラの出力が AEABI 準拠の ISO C99 ライブラリと連動するように指定できます。また、C ライブラリ(数学ライラリを含む)の呼び出しで、ハードウェア浮動小数点ライブラリ関数が呼び出されるようになります。

aeabi_clib_hardfp

このオプションを使用すると、コンパイラの出力が AEABI 準拠の ISO C ライブラリと連動するように指定できます。

オプション --library_interface=aeabi_clib_hardfp を選択すると、使用されたソース言語に応じて --library_interface=aeabi_clib90_hardfp または --library_interface=aeabi_clib99_hardfp を指定した場合と同じになります。

選択するソース言語は、選択されるコマンドラインオプションと使用されるファイル名接尾文字に応じて異なります。

C ライブラリ(数学ライブラリを含む)の呼び出しで、ハードウェア浮動小数点ライブラリ関数が呼び出されるようになります。

aeabi_glibc_hardfp

このオプションを使用すると、コンパイラの出力が AEABI 準拠の GNU C ライブラリと連動するように指定できます。また、C ライブラリ(数学ライブラリを含む)の呼び出しで、ハードウェア浮動小数点ライブラリ関数が呼び出されるようになります。

rvct30

このオプションを使用すると、コンパイラの出力が RVCT 3.0 ランタイムライブラリと互換性があるように指定できます。

rvct30_c90

rvct30 と同様に動作します。加えて、コンパイラの出力が ISO C90 ライブラリと互換性があるように指定されます。

rvct31

このオプションを使用すると、コンパイラの出力が RVCT 3.1 ランタイムライブラリと互換性があるように指定できます。

rvct31_c90

rvct31 と同様に動作します。加えて、コンパイラの出力が ISO C90 ライブラリと互換性があるように指定されます。

rvct40

このオプションを使用すると、コンパイラの出力が RVCT 4.0 ランタイムライブラリと互換性があるように指定できます。

rvct40_c90

rvct40 と同様に動作します。加えて、コンパイラの出力が ISO C90 ライブラリと互換性があるように指定されます。

Show/hideデフォルト

--library_interface を指定しない場合は、--library_interface=armcc が想定されます。

Show/hide使用法

  • オプション --library_interface=armcc は、コンパイラとライブラリの最適化を最大限に利用してリンクするときに使用します。

  • ABI に準拠した C ライブラリとリンクする場合は、形式 --library_interface=aeabi_* のオプションを使用します。形式 --library_interface=aeabi_* のオプションを指定すると、コンパイラは、ARM C ライブラリの最適化された関数への呼び出しを生成しません。

  • --fpu=softvfp でコンパイルするときに _hardfp ライブラリインタフェースを使用するのは誤った用法です。

Show/hide

ARM C ライブラリの関数を置換する組み込みオペレーティングシステムの関数がコードによって呼び出された場合、オプション --library_interface=aeabi_clib を使用してコードをコンパイルし、オペレーティングシステムによって置換されるライブラリ関数の特定の ARM バリアントの呼び出しを無効にします。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711