void *syCallocMulti( heaph, nobj, size )
SYS_MALCM_HEAPH *heaph
Uint32 nobj
Uint32 size
heaph (出力)ヒープハンドル nobj 確保する数 size 一つ当たりの確保するサイズ
なし
この関数は、引数 heaph で示されるヒープ領域から 引数nobj × 引数size 分のメモリ領域を確保し、内容を 0 で初期化します。
Sint8 myHeap[1024]; SYS_MALCM_HEAPH myHeaph; STRUCT_FOO *foo; syMallocMultiCreateHeap(&myHeaph, myHeap, 1024); if((foo = syCallocMulti(&myHeaph, sizeof(STRUCT_FOO), 3)) == NULL){ /* Could not allocate the memory */ myError(); } else { /* Allocation OK */ DoWhatYouWant(foo); syFreeMulti(&myHeaph, p); } syMallocMultiDelete(&heaph);
サブヒープ領域からメモリ確保を行う以外は syCalloc()関数と同等の機能です。
syMallocMultiCreate() サブヒープの登録 syMallocMultiDelete() サブヒープの登録解除 syMallocMulti() syMallocMulti サブヒープからのメモリ取得 syReallocMulti() サブヒープ上での realloc 操作 syFreeMulti() サブヒープから取得したメモリ領域の開放 syMallocMultiStat() サブヒープ領域の使用状況調査 syMallocMultiChangeIF() サブヒープに対するインタフェースの置換え syCalloc() メモリの確保