8.114 --library_interface=lib

選択したライブラリのタイプと互換性があるコードを生成します。

構文

--library_interface= lib
lib には以下のいずれかを指定します。
なし
コンパイラ出力が ISO C90 ライブラリと連動するように指定されます。
一般に、コンパイラは AEABI 定義ライブラリ関数を使用しません。例えば、このオプションは、__aeabi_memcpy のように最適化としてのみ導入される AEABI 定義の関数が使用されないようにします。
AEABI 定義ライブラリ関数が使用されるのは、簡単なマシンコードに相当するコードのない演算を処理するときのみです。例えば、ターゲット命令セットに除算命令がない場合、整数除算に __aeabi_uidiv 関数が使用されます。
armcc
このオプションを使用すると、コンパイラ出力が ARM コンパイラ 4.1 以降での ARM ランタイムライブラリと連動するように指定できます。
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 ライブラリと連動するように指定できます。
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 ライブラリと互換性があるように指定されます。

デフォルト

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

使用法

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

_hardfp オプションは ARM C ライブラリでサポートされていません。

ARM C ライブラリの関数を置換する組み込みオペレーティングシステムの関数がコードによって呼び出された場合、 オプション --library_interface=aeabi_clib を使用してそのコードをコンパイルして下さい。このオプションは、オペレーティングシステムが置換したライブラリ関数の特別な ARM バリアントの呼び出しを無効にします。
関連情報
ARM アーキテクチャ用アプリケーションバイナリインタフェース(ABI)への準拠
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.