##### Shinobi Library - メモリマネージメント関数

# syMallocMulti

syMallocMulti サブヒープからのメモリ取得

### 書式

> `Void *syMallocMulti(heaph, nbytes)
> SYS_MALCM_HEAPH *heaph
> Uint32 nbytes
> `

### 引数

> heaph | (出力)ヒープハンドル
> nbytes | 要求するサイズ

### 戻り値

> NULL | 確保に失敗した
> その他 | 取得したメモリ領域へのポインタ

### 解説

> この関数は syMallocMultiCreate()関数で登録済みのサブヒープ領域から 引数nbytes で示されるバイト分のメモリ領域を取得します。

> 確保される領域は、32バイト境界にアライメントされます。

### 用例

>     Sint8 myHeap[1024];
>     Void *p;
>     SYS_MALCM_HEAPH myHeaph;
>     STRUCT_FOO foo;

>     syMallocMultiCreateHeap(&myHeaph, myHeap, 1024);
>     if((p = syMallocMulti(&myHeaph, sizeof(STRUCT_FOO))) == NULL){
>     	/* Could not allocate the memory */
>     	myError();
>     }else{
>     	/* Allocation OK */
>     	DoWhatYouWant(p);
>     	syFreeMulti(&myHeaph, p);
>     }
>     syMallocMultiDelete(&heaph);

### 備考

> あらかじめ登録されたサブヒープ領域からメモリ確保を行うこと以外は syMalloc()関数と同等の機能です。

### 参照

> syMallocMultiCreate() | サブヒープの登録
> syMallocMultiDelete() | サブヒープの登録解除
> syReallocMulti() | サブヒープ上での realloc 操作
> syFreeMulti() | サブヒープから取得したメモリ領域の開放
> syCallocMulti() | サブヒープ領域への calloc 操作
> syMallocMultiStat() | サブヒープ領域の使用状況調査
> syMallocMultiChangeIF() | サブヒープに対するインタフェースの置換え
> syMalloc() | メモリの確保

syMallocMulti

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000