ARM® コンパイラツールチェーン ARM C および C++ ライブラリと浮動小数点サポートの使用

バージョン 5.03


List of Topics

表記規則とフィードバック
ARM C ライブラリと C++ ライブラリ
C ライブラリへのリンケージが必須
C および C++ ランタイムライブラリ
C および C++ ライブラリ機能
ARM C および C++ ライブラリのライブラリヒープ使用状況の要件
ARM アーキテクチャ用アプリケーションバイナリインタフェース(ABI)への準拠
CLIBABI の他の実装に対するオブジェクトファイルの移植性の向上
ARM C および C++ ライブラリのディレクトリ構造
ビルドオプションに基づく ARM C および C++ ライブラリのバリアントの選択
Thumb C ライブラリ
C++ および C ライブラリと std ネームスペース
ARM C ライブラリとマルチスレッド
ARM C ライブラリと再入可能関数
ARM C ライブラリとスレッドセーフな関数
C ライブラリでのスタティックデータの使用
C ライブラリによる __user_libspace スタティックデータ領域の使用
__user_libspace スタティックデータ領域のサブセクションにアクセスする C ライブラリ関数
C ライブラリでの既存の関数 __user_libspace() の再実装
マルチスレッドアプリケーションにおけるロックの管理
再実装したミューテックス関数を確実に呼び出す方法
マルチスレッド環境での ARM C ライブラリの使用
ARM C ライブラリでのスレッドセーフティ
ARM C++ ライブラリでのスレッドセーフティ
マルチスレッド環境での浮動小数点ステータスワード
アプリケーションでの C ライブラリの使用
セミホスティング環境のアプリケーションでの C および C ++ ライブラリの使用
$Sub$$ を使用してセミホストと非セミホストの I/O 機能を混合
非セミホスティング環境でのライブラリの使用
非セミホスティング環境における C++ 例外
C ライブラリ関数の直接セミホスティング依存関数
C ライブラリ関数の間接セミホスティング依存関数
異なる環境をターゲットとした C ライブラリ API 定義
C ライブラリを使用しないアプリケーションの作成
C ライブラリを使用せずにベアマシン C としてアプリケーションを作成
整数および浮動小数点コンパイラ関数と、C ライブラリなしでのアプリケーションの作成
ベアマシン整数 C
浮動小数点処理を使用したベアマシン C
カスタマイズされた C ライブラリ起動コードおよび C ライブラリ関数へのアクセス
C ライブラリを使用する場合のプログラム設計
C ライブラリを使用する場合の低レベル関数の使用
C ライブラリを使用する場合の高レベル関数の使用
C ライブラリを使用する場合の malloc() の使用
新しい実行環境に合わせた C ライブラリのカスタマイズ
C および C++ プログラムでのライブラリ関数の使用方法
実行環境の初期化とアプリケーションの実行
C++ の初期化、構築、および破棄
.init_array に代わる C$$pi_ctorvec の従来のサポート
例外システムの初期化
例外用の緊急時バッファメモリ
main() から呼び出されるライブラリ関数
プログラム終了および assert マクロ
C ライブラリでのロケール関数をカスタマイズするためのアセンブラマクロ
C ライブラリのロケールサブシステムのリンク時における選択
ISO8859-1 の実装
Shift-JIS および UTF-8 の実装
C ライブラリのロケールサブシステムの実行時における選択
C ライブラリのロケールデータブロックの定義
LC_CTYPE データブロック
LC_COLLATE データブロック
LC_MONETARY データブロック
LC_NUMERIC データブロック
LC_TIME データブロック
エラー通知、エラー処理、プログラム終了処理のための C ライブラリ関数の変更
C ライブラリのメモリ管理関数の変更
ARM で提供されるヒープおよびヒープを使用するライブラリ関数の使用の回避
メモリ割り当て関数の C ライブラリサポート
ヒープ 1 標準ヒープ実装
ヒープ 2 代替ヒープ実装
ベアマシン C からのヒープ実装の使用
スタックポインタの初期化とヒープの上下限
__initial_sp、__heap_base、および __heap_limit の定義
実行時のヒープサイズの拡張
__user_initial_stackheap() の従来のサポート
C および C++ ライブラリでの入出力関数のカスタマイズ
C および C++ ライブラリ内での低レベル関数のターゲット依存関係
C ライブラリ printf ファミリ関数
C ライブラリ scanf ファミリ関数
C ライブラリで高レベルライブラリ関数の直接使用を有効化するための低レベルライブラリ関数の再定義
C ライブラリ関数 fread()、fgets()、および gets()
C ライブラリでの __backspace() の再実装
C ライブラリでの __backspacewc() の再実装
C ライブラリでのターゲットに依存するシステム入出力関数の再定義
入出力以外の C ライブラリ関数のカスタマイズ
ARM ライブラリのリアルタイム整数除算
ARM ライブラリのリアルタイム除算の選択
ARM C ライブラリが ISO C 仕様の要件を満たす方法
mathlib エラー処理
C ライブラリの signal() 関数と追加の型引数によりサポートされる ISO 準拠のシグナルの実装
ISO 準拠の C ライブラリ入出力の特性
標準 C++ ライブラリの実装定義
C ライブラリ関数と拡張機能
ARM Compilation Tools の各リリースでの C および C++ ライブラリ名の永続性
リンク時の C および C++ ライブラリの選択
メイクファイルに明示的な C または C++ ライブラリ名があるプロジェクトの管理
コンパイラによって生成されたライブラリに存在するヘルパ関数
C および C++ ライブラリの命名規則
FILE 宣言およびワイド I/O 関数プロトタイプを無効化するマクロ __ARM_WCHAR_NO_IO の使用
ARM C マイクロライブラリ
microlib について
microlib とデフォルトの C ライブラリの違い
ARM C マイクロライブラリのライブラリヒープ使用状況の要件
microlib でサポートされていない ISO C 機能
microlib を使用したアプリケーションの作成
microlib で使用する初期スタックポインタの作成
microlib で使用するヒープの作成
microlib とリンクしたプログラムの開始と終了
microlib 入出力関数のカスタマイズ
浮動小数点のサポート
浮動小数点サポートについて
ソフトウェア浮動小数点ライブラリ fplib
fplib ルーチンの呼び出し
特定形式の数値に対する fplib 算術演算
float、double、int の間の fplib 変換
long long、float、double の間の fplib 変換
float と double の間の fplib 比較
fplib C99 関数
ARM 浮動小数点環境の制御
Microsoft 製品との互換性を維持するための浮動小数点関数
ARM 浮動小数点環境を制御するための C99 互換関数
C99 丸めモードおよび浮動小数点例外マクロ
例外フラグの処理
丸めモードの処理の関数
浮動小数点環境全体を保存および復元するための関数
例外を一時的に無効化する関数
C99 インタフェースの ARM 浮動小数点コンパイラ拡張
ユーザ定義の例外トラップハンドラの記述
ユーザ定義の例外ハンドラの例
シグナルによる例外トラップ処理
mathlib(_WANT_SNAN)で提供される C99 シグナル NaN の使用
mathlib での倍精度浮動小数点関数および単精度浮動小数点関数
mathlib での標準以外の関数
IEEE 754 算術演算
IEEE 754 算術演算の基本データ型
IEEE 754 算術演算の単精度データ型
IEEE 754 算術演算の倍精度データ型
IEEE 754 算術演算の単精度浮動小数点数値のサンプル
IEEE 754 算術演算の倍精度浮動小数点数値のサンプル
IEEE 754 算術演算と丸め
IEEE 754 浮動小数点演算で発生する例外
IEEE 754 浮動小数点の算術演算で発生する例外の無視
IEEE 754 浮動小数点の算術演算で発生する例外のトラップ
ARM 浮動小数点環境で認識される例外のタイプ
ベクタ浮動小数点(VFP)サポートライブラリの使用
『ARM C および C++ ライブラリと浮動小数点サポートの使用』に対する改訂

著作権

™ または ® のマークが付いた言葉およびロゴは、この著作権情報で別段に規定されている場合を除き、ARM の EU またはその他の国における登録商標および商標です。本書に記載されている他の製品名は、各社の所有する商標です。

本書に記載されている情報の全部または一部、ならびに本書で紹介する製品は、著作権所有者の文書による事前の許可を得ない限り、転用・複製することを禁じます。

本書に記載されている製品は、今後も継続的に開発・改良の対象となります。本書に含まれる製品およびその利用方法についての情報は、ARM が利用者の利益のために提供するものです。したがって当社では、製品の市販性または利用の適切性を含め、暗示的・明示的に関係なく一切の責任を負いません。

本書は、本製品の利用者をサポートすることだけを目的としています。本書に記載されている情報の使用、情報の誤りまたは省略、あるいは本製品の誤使用によって発生したいかなる損失・損傷についても、ARM は一切責任を負いません。

ARM という用語が使用されている場合、"ARM または必要に応じてその子会社" を指します。

本書の一部の情報は、『IEEE 754 - 1985 IEEE Standard for Binary Floating-Point Arithmetic』に基づいています。記載されている方法による配置と使用から生じる責任または義務を IEEE では一切放棄しています。

機密保持ステータス

本書は非機密扱いであり、本書を使用、複製、および開示する権利は、ARM および ARM が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。

製品ステータス

本書の情報は最終版であり、開発済み製品に対応しています。

Revision History
Revision A2010 年 5 月 28 日ARM コンパイラツールチェーン v4.1 リリース
Revision B2010 年 9 月 30 日ARM コンパイラツールチェーン v4.1 のアップデート 1
Revision C2011 年 1 月 28 日ARM コンパイラツールチェーン v4.1 パッチ 3 のアップデート 2
Revision D2011 年 4 月 30 日ARM コンパイラツールチェーン v5.0 リリース
Revision E2011 年 7 月 29 日ARM コンパイラツールチェーン v5.0 のアップデート 1
Revision F2011 年 8 月 30 日ARM コンパイラツールチェーン v5.01 リリース
Revision G2012 年 2 月 29 日ARM コンパイラツールチェーン v5.01 リリースマニュアルの更新 1
Revision H2012 年 7 月 27 日ARM コンパイラツールチェーン v5.02 リリース
Revision I2013 年 1 月 31 日ARM コンパイラツールチェーン v5.03 リリース
Copyright © 2010-2013 ARM. All rights reserved.ARM DUI 0475IJ
Non-ConfidentialID102113