C2A_Core
bsearch.c ファイル

C2A が依存する libc 関数 bsearch を自前実装し,c2a-core から提供することで,C2A の移植性を高める. これにより,ベアメタル環境でも C2A を libc 無しに(newlib などを持ち出してくることなく)ビルド・動作させることができる. [詳解]

#include <stdlib.h>
bsearch.c の依存先関係図:

[ソースコード]

型定義

typedef int(* compr_func) (const void *, const void *)
 

関数

void * bsearch (const void *key, const void *base, size_t nmemb, size_t size, compr_func compr)
 

詳解

C2A が依存する libc 関数 bsearch を自前実装し,c2a-core から提供することで,C2A の移植性を高める. これにより,ベアメタル環境でも C2A を libc 無しに(newlib などを持ち出してくることなく)ビルド・動作させることができる.

覚え書き
https://github.com/ut-issl/c2a-core/pull/485
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/bsearch.3.html

bsearch.c に定義があります。

型定義詳解

◆ compr_func

typedef int(* compr_func) (const void *, const void *)

bsearch.c14 行目に定義があります。

関数詳解

◆ bsearch()

void* bsearch ( const void *  key,
const void *  base,
size_t  nmemb,
size_t  size,
compr_func  compr 
)

bsearch.c16 行目に定義があります。

被呼び出し関係図: