home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 March
/
VPR9703A.ISO
/
VPR_DATA
/
DOGA
/
SOURCES
/
POLYEDIT.LZH
/
MODEL
/
ALLOC.C
next >
Wrap
C/C++ Source or Header
|
1996-04-19
|
828b
|
55 lines
/*
* メモリ管理
*
* T.Kobayashi 1993.10.24
*/
#include <stdio.h>
#include <stdlib.h>
#include "ml.h"
#include "inlib.h"
#define MALLOC_MAGIC 0x12345678
typedef struct {
int magic ;
int size ;
} MemoryHeader ;
void *MemoryAlloc( size )
int size ;
{
MemoryHeader *mem ;
mem = malloc( size + sizeof( MemoryHeader ) );
if ( mem == NULL )
return NULL ;
mem->magic = MALLOC_MAGIC ;
mem->size = size ;
#if 0
printf( "malloc( %d ) : %08X\n", size, mem );
#endif
return (void*)( mem + 1 );
}
void MemoryFree( ptr )
void *ptr ;
{
MemoryHeader *mem ;
mem = (MemoryHeader*)ptr - 1 ;
#if 0
printf( "free: %08X\n", mem );
#endif
if ( mem->magic != MALLOC_MAGIC )
{
ExecError( "Memory Block Error(%X)!!!", mem );
}
mem->magic = 0 ;
free( mem );
}