Everything
7.1 提供ライブラリ

CC-RHで提供しているライブラリは,次のとおりです。

表 7.1

提供ライブラリ

【V1.02.00以降】

提供ライブラリ

ライブラリ名

使用する条件

標準ライブラリ

プログラム診断機能関数

可変個引数関数

文字列関数

メモリ管理関数

文字変換関数

文字分類関数

標準入出力関数

標準ユーティリティ関数

周辺装置の初期化関数

RAMセクション領域初期化関数

演算用ランタイム関数

間接関数呼び出しチェック関数

数学ライブラリ

数学関数(倍精度,単精度))

lib\v850e3v5\rhf8n.lib

-Xfloat=fpu,-Xdbl_size=8, -Xround=nearest指定時

lib\v850e3v5\rhs8n.lib

-Xfloat=soft,-Xdbl_size=8, -Xround=nearest指定時

lib\v850e3v5\rhf4n.lib

-Xfloat=fpu,-Xdbl_size=4, -Xround=nearest指定時

lib\v850e3v5\rhs4n.lib

-Xfloat=soft,-Xdbl_size=4, -Xround=nearest指定時

lib\v850e3v5\rhf8z.lib

-Xfloat=fpu,-Xdbl_size=8,-Xround=zero指定時

lib\v850e3v5\rhf4z.lib

-Xfloat=fpu,-Xdbl_size=4,-Xround=zero指定時

標準ライブラリ

動的メモリ管理関数

【V1.04.00以降】

lib\v850e3v5\libmalloc.lib

常に使用可能

lib\v850e3v5\secure\libmalloc.lib

セキュリティ機能使用時

【Professional版のみ】

標準ライブラリ

非局所分岐関数

lib\v850e3v5\libsetjmp.lib

-Xep=callee指定時

lib\v850e3v5\ep\fix\libsetjmp.lib

-Xep=fix指定時

標準ライブラリ

プログラム診断機能関数

可変個引数関数

文字列関数

メモリ管理関数

文字変換関数

文字分類関数

標準入出力関数

標準ユーティリティ関数

周辺装置の初期化関数

RAMセクション領域初期化関数

演算用ランタイム関数

lib\v850e3v5\libc.lib

常に使用可能(V1.01.00以前の後方互換用)

FPU使用数学ライブラリ

数学関数(倍精度))

lib\v850e3v5\libm.lib

-Xfloat=fpu指定時(V1.01.00以前の後方互換用)

FPU使用数学ライブラリ

数学関数(単精度))

lib\v850e3v5\libmf.lib

FPU不使用数学ライブラリ

数学関数(倍精度))

lib\v850e3v5\softfloat\libm.lib

-Xfloat=soft指定時(V1.01.00以前の後方互換用)

FPU不使用数学ライブラリ

数学関数(単精度))

lib\v850e3v5\softfloat\libmf.lib

 

【V1.01.00以前】

提供ライブラリ

ライブラリ名

使用する条件

標準ライブラリ

プログラム診断機能関数

可変個引数関数

文字列関数

メモリ管理関数

文字変換関数

文字分類関数

標準入出力関数

標準ユーティリティ関数

周辺装置の初期化関数

RAMセクション領域初期化関数

演算用ランタイム関数

lib\v850e3v5\libc.lib

常に使用可能

FPU使用数学ライブラリ

数学関数(倍精度))

lib\v850e3v5\libm.lib

-Xfloat=fpu指定時

FPU使用数学ライブラリ

数学関数(単精度))

lib\v850e3v5\libmf.lib

FPU不使用数学ライブラリ

数学関数(倍精度))

lib\v850e3v5\softfloat\libm.lib

-Xfloat=soft指定時

FPU不使用数学ライブラリ

数学関数(単精度))

lib\v850e3v5\softfloat\libmf.lib

標準ライブラリ

非局所分岐関数

lib\v850e3v5\libsetjmp.lib

-Xep=callee指定時

lib\v850e3v5\ep\fix\libsetjmp.lib

-Xep=fix指定時

表 7.2

提供ライブラリ(-Xcpu=g3kh向け)

提供ライブラリ

ライブラリ名

使用する条件

標準ライブラリ

プログラム診断機能関数

可変個引数関数

文字列関数

メモリ管理関数

文字変換関数

文字分類関数

標準入出力関数

標準ユーティリティ関数

周辺装置の初期化関数

RAMセクション領域初期化関数

演算用ランタイム関数

間接関数呼び出しチェック関数

数学ライブラリ

数学関数(倍精度,単精度))

lib \ v850e3v5 \ rhs8n.lib

-Xfloat=fpu,-Xdbl_size=8,
-Xround=nearest指定時

lib\v850e3v5\rhs8n.lib

-Xdbl_size=8,-Xround=nearest指定時

lib\v850e3v5\rhf4n.lib

-Xfloat=fpu,-Xdbl_size=4,-Xround=nearest指定時

lib\v850e3v5\rhs4n.lib

-Xfloat=soft,-Xdbl_size=4,-Xround=nearest指定時

lib \ v850e3v5 \ rhs8n.lib

-Xfloat=fpu,-Xdbl_size=8,
-Xround=zero指定時

lib\v850e3v5\rhf4z.lib

-Xfloat=fpu,-Xdbl_size=4,-Xround=zero指定時

標準ライブラリ

動的メモリ管理関数

【V1.04.00以降】

lib\v850e3v5\libmalloc.lib

常に使用可能

lib\v850e3v5\secure\libmalloc.lib

セキュリティ機能使用時【Professional版のみ】

標準ライブラリ

非局所分岐関数

lib\v850e3v5\libsetjmp.lib

-Xep=callee指定時

lib\v850e3v5\ep\fix\libsetjmp.lib

-Xep=fix指定時

標準ライブラリ

プログラム診断機能関数

可変個引数関数

文字列関数

メモリ管理関数

文字変換関数

文字分類関数

標準入出力関数

標準ユーティリティ関数

周辺装置の初期化関数

RAMセクション領域初期化関数

演算用ランタイム関数

間接関数呼び出しチェック関数

lib\v850e3v5\libc.lib

常に使用可能(V1.01.00以前の後方互換用)

数学ライブラリ

数学関数(倍精度))

lib\v850e3v5\softfloat\libm.lib

常に使用可能(V1.01.00以前の後方互換用)

FPU使用数学ライブラリ

数学関数(単精度))

lib\v850e3v5\libmf.lib

-Xfloat=fpu指定時(V1.01.00以前の後方互換用)

FPU不使用数学ライブラリ

数学関数(単精度))

lib\v850e3v5\softfloat\libmf.lib

-Xfloat=soft指定時(V1.01.00以前の後方互換用)

-

標準ライブラリや数学ライブラリを,アプリケーション内で使用するときは,関連するヘッダ・ファイルをインクルードして,ライブラリ関数を使用します。

ただし,プログラム診断機能関数,可変個引数関数,文字変換関数,文字分類関数だけを使用している場合,ライブラリの参照を行う必要はありません。

-

CS+を使用する場合,これらのライブラリはデフォルトで参照する設定になっています。

-

演算用ランタイム関数は,浮動小数点演算や整数演算を行うときに,CC-RHが自動的に呼び出すルーチンです。

したがって,“演算用ランタイム関数”は,他のライブラリ関数とは異なり,Cソースやアセンブラ・ソースで記述する関数ではありません。

-

rh***.lib はlibc.lib, libm.lib, libmf.lib の内容を含む(libmalloc.lib,libsetjmp.libは含まない)ので,rh***.lib 指定時はlibc.lib,libm.lib,libmf.lib を同時に指定しないでください。またrh***.lib は1つだけ指定してください。それ以外の指定をした場合の動作は保証しません。

-

単精度FPUしか持たないデバイスの場合,-Xfloat=softまたは-Xdbl_size=4を指定したうえで,それぞれに対応するライブラリを使用してください。

-

secure\libmalloc.libはProfessional版ライセンスを持たない場合はリンク時エラーになります。

-

libmalloc.libをリンクする場合は標準ライブラリ(rh***.lib)も同時にリンクする必要があります。

-

旧版との互換用ライブラリ(libc.lib)の使用時は,セキュリティ機能用ライブラリは使用できません。