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