English
PROGRAMMER'S GUIDEメモリ管理ライブラリ
■   | 進む
メモリ管理ライブラリ

1.ガイド


1.1 目的

 簡単にメモリ管理をするためのライブラリです。

1.2 概要

 メモリの確保、解放の各種関数を提供します。
 メモリの解放では、解放した領域の両隣を見て空き領域であればそれを統合します。
 これらの機能により使用者のメモリ管理の負担を軽減します。
 関数は、標準関数に近い関数インタフェースを持っています。

1.3 コーリングシーケンス

 以下にメモリブロック確保、解放のコーリングシーケンスを示します。

void sysInit()
{
     ...     
     MEM_Init(0x6050000, 0x10000);     /* 6050000H番地から10000Hバイト分を
                                                            メモリ管理領域に設定   */
     ...
}
...
void userFunc()
{
     Uint32 *mem_area1;
     Uint8 *mem_area2;

     ...
     mem_area1 = (Uint32 *)MEM_Malloc(4);     /* 4バイトの領域を確保               */
     if(mem_area1 == NULL){
          return(ERR);
     }
     mem_area2 = (Uint8 *)MEM_Malloc(1);     /* 1バイトの領域を確保                */
     if(mem_area2 == NULL){
          return(ERR);
     }
     ...
     ...
     MEM_Free(mem_area1);                    /* mem_area1のメモリを解放           */
     ...
}


■   | 進む
PROGRAMMER'S GUIDEメモリ管理ライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997