typedef struct _SYS_MALCM_HEAPH{ SYS_MALCM_HEADER Root; SYS_MALCM_HEADER *Freep; Uint32 Size; char *Start; struct _SYS_MALCM_IF *mallocIf; } SYS_MALCM_HEAPH;
Root 初期状態の空きブロック(デフォルト関数群で使用) Freep フリーリストへのポインタ(デフォルト関数群で使用) Size ヒープのサイズ Start ヒープの先頭へのポインタ mallocIf 使用するインタフェース関数群
各サブヒープの状態保持のための構造体です。関数インタフェースを入れ替えない場合には内容を意識する必要はありませんが、自分で作成した malloc の実装を適用する場合には、Root、Freep のフィールドは自由に使用することができます。
SYS_MALCM_IF メモリ確保に使用する関数インタフェースの実体 syCallocMulti() サブヒープ領域への calloc 操作 syFreeMulti() サブヒープから取得したメモリ領域の開放 syMallocMulti() syMallocMulti サブヒープからのメモリ取得 syMallocMultiChangeIF() サブヒープに対するインタフェースの置換え syMallocMultiCreate() サブヒープの登録 syMallocMultiDelete() サブヒープの登録解除 syMallocMultiStat() サブヒープ領域の使用状況調査 syReallocMulti() サブヒープ上での realloc 操作