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