Everything
3.12 標準ライブラリ関数

CA78K0Rの標準ライブラリ関数のうち,va_starttopと,関数名の後に”_n”または”_f”が付いたnear / farポインタ用標準ライブラリ関数の関数呼び出しを,CC-RLの標準ライブラリ関数に変換します。通常の標準ライブラリ関数については,同一関数が使用できるため,変換しません。

 

-

CA78K0R用標準ライブラリのヘッダ・ファイルをCcnvCA78K0Rで変換して,CC-RLで用いないでください。CC-RL用標準ライブラリのヘッダ・ファイルを使用してください。

-

関数名の変換は文字列置換であるため,同名のマクロ名,変数名,タグ名等が存在する場合は,それらも変換します。

-

CC-RLにはラージ・モデルがありません。ラージ・モデル用のCソースを変換した場合,標準ライブラリの引数や戻り値の型が合わなくなる場合があります。変換前に,Cソースの記述をfarポインタ用標準ライブラリ関数に手動で修正してください。

 

表 3.6

標準ライブラリ関数の変換

CA78K0R関数名

変換後

備考

toup

_toupper

変換しません

CC-RLではユーザ関数として扱います。

toupper関数をご使用ください。

tolow

_tolower

変換しません

CC-RLではユーザ関数として扱います。

tolower関数をご使用ください。

va_starttop

va_start

 

sprintf_n

sprintf

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

sprintf_f

sprintf

 

sscanf_n

sscanf

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

sscanf_f

sscanf

 

printf_n

printf

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

printf_f

printf

 

scanf_n

scanf

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

scanf_f

scanf

 

vprintf_n

vprintf

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

vprintf_f

vprintf

 

vsprintf_n

vsprintf

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

vsprintf_f

vsprintf

 

gets_n

gets

 

gets_f

_COM_gets_f

 

puts_n

puts

 

puts_f

_COM_puts_f

 

__putc

変換しません

CC-RLではユーザ関数として扱います。

atof_n

atof

 

atof_f

_COM_atof_f

 

atoi_n

atoi

 

atoi_f

_COM_atoi_f

 

atol_n

atol

 

atol_f

_COM_atol_f

 

strtod_n

strtod

 

strtod_f

_COM_strtod_ff

 

strtol_n

strtol

 

strtol_f

_COM_strtol_ff

 

strtoul_n

strtoul

 

strtoul_f

_COM_strtoul_ff

 

atexit

変換しません

CC-RLはatexitをサポートしていません。

CC-RLではユーザ関数として扱います。

brk

変換しません

CC-RLではユーザ関数として扱います。

sbrk

変換しません

CC-RLではユーザ関数として扱います。

itoa

変換しません

CC-RLではユーザ関数として扱います。

ltoa

変換しません

CC-RLではユーザ関数として扱います。

ultoa

変換しません

CC-RLではユーザ関数として扱います。

bsearch_n

bsearch

 

bsearch_f

_COM_bsearch_f

 

qsort_n

qsort

 

qsort_f

_COM_qsort_f

 

strbrk

変換しません

CC-RLではユーザ関数として扱います。

strsbrk

変換しません

CC-RLではユーザ関数として扱います。

stritoa

変換しません

CC-RLではユーザ関数として扱います。

strltoa

変換しません

CC-RLではユーザ関数として扱います。

strultoa

変換しません

CC-RLではユーザ関数として扱います。

memcpy_n

memcpy

 

memcpy_f

_COM_memcpy_ff

 

memmove_n

memmove

 

memmove_f

_COM_memmove_ff

 

strcpy_n

strcpy

 

strcpy_f

_COM_strcpy_ff

 

strncpy_n

strncpy

 

strncpy_f

_COM_strncpy_ff

 

strcat_n

strcat

 

strcat_f

_COM_strcat_ff

 

strncat_n

strncat

 

strncat_f

_COM_strncat_ff

 

memcmp_n

memcmp

 

memcmp_f

_COM_memcmp_ff

 

strcmp_n

strcmp

 

strcmp_f

_COM_strcmp_ff

 

strncmp_n

strncmp

 

strncmp_f

_COM_strncmp_ff

 

memchr_n

memchr

 

memchr_f

_COM_memchr_f

 

strchr_n

strchr

 

strchr_f

_COM_strchr_f

 

strcspn_n

strcspn

 

strcspn_f

_COM_strcspn_ff

 

strpbrk_n

strpbrk

 

strpbrk_f

_COM_strpbrk_ff

 

strrchr_n

strrchr

 

strrchr_f

_COM_strrchr_f

 

strspn_n

strspn

 

strspn_f

_COM_strspn_ff

 

strstr_n

strstr

 

strstr_f

_COM_strstr_ff

 

strtok_n

strtok

CC-RLはfarポインタ用関数のみが存在します。

変換後,引数はnearからfarへのポインタ変換が発生します。

strtok_f

strtok

 

memset_n

memset

 

memset_f

_COM_memset_f

 

strerror

変換しません

CC-RLは戻り値の型がfarポインタです。

戻り値を使用している箇所の型を変更してください。

strlen_n

strlen

 

strlen_f

_COM_strlen_f

 

strcoll

strcoll_n

strcoll_f

変換しません

CC-RLはstrcollをサポートしていません。

CC-RLではユーザ関数として扱います。

strxfrm

strxfrm_n

strxfrm_f

変換しません

CC-RLはstrxfrmをサポートしていません。

CC-RLではユーザ関数として扱います。

matherr

変換しません

CC-RLではユーザ関数として扱います。

__assertfail

変換しません

CC-RLではユーザ関数として扱います。

assertマクロはそのままCC-RLで使用できます。