Japanese
PROGRAMMER'S GUIDEMemory management library
■ | Go forward
memory management library

1. guide


1.1 Purpose

A library for easy memory management.

1.2 Overview

Provides various functions for allocating and releasing memory.
When freeing memory, look at both sides of the freed area and combine them if they are free.
These functions reduce the burden of memory management on the user.
Functions have a functional interface similar to standard functions.

1.3 Calling Sequence

The calling sequence for securing and releasing memory blocks is shown below.

void sysInit()
{
     ...     
     MEM_Init(0x6050000, 0x10000); /* Set 10000H bytes from address 6050000H to memory management area */
     ...
}
...
void userFunc()
{
     Uint32 *mem_area1;
     Uint8 *mem_area2;

     ...
     mem_area1 = (Uint32 *)MEM_Malloc(4); /* Reserve 4 bytes of area */
     if(mem_area1 == NULL){
          return(ERR);
     }
     mem_area2 = (Uint8 *)MEM_Malloc(1); /* Reserve 1 byte area */
     if(mem_area2 == NULL){
          return(ERR);
     }
     ...
     ...
     MEM_Free(mem_area1); /* Free memory of mem_area1 */
     ...
}


■ | Go forward
PROGRAMMER'S GUIDEMemory management library
Copyright SEGA ENTERPRISES, LTD., 1997