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

# syMallocMultiCreate

サブヒープの登録

### 書式

> `Void syMallocMultiCreate( heaph, heap, size )
> SYS_MALCM_HEAPH *heaph
> Void *heap
> Uint32 size
> `

### 引数

> heaph ヒープハンドル（出力）

### 戻り値

> なし

### 解説

> syMallocMulti ライブラリにサブヒープ領域を登録します。

> syMallocMultiCreate()関数の呼出し後のヒープハンドルheaphは、 syMallocMulti()、syFreeMulti()などの関数で操作対象とするヒープを指定するために使用します。

> 引数heap に指定する領域は、そのヒープを使用しつづける間に存在する領域であれば、グローバル変数やスタティック変数で取得した配列領域や syMalloc()関数で取得したヒープ領域であっても構いません。

### 用例

>     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);

### 備考

> 引数 heap が 32 バイトアライメントでない場合には、渡されたヒープ領域に含まれる最初の 32 バイトアライメントされたアドレス以降をヒープとして使用します。

### 参照

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

syMallocMultiCreate

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000