LAR Library: Memory Management

LAR Library

Memory Management

Functions

void * memAlloc (int nb)
 Allocate a block of memory from the heap. More...
 
void * memAllocZero (int nb)
 Allocate and zero a block of memory from the heap. More...
 
void * memRealloc (void *oldp, int nb)
 Resize a block of memory, or allocate a new one. More...
 
void memFree (void *p)
 Release a previously allocated block. More...
 

Detailed Description

Rationale

Memory management is important, specially in an embedded environment. Besides not all platforms correctly supporting ANSI C, having our own memory-allocation functions allow for easier debugging of applications.

Introduction

This modules includes portable memory-management functions. All modules of larlib use this functions. They may allow improved debugging / tracing support than any given platform's built-in implementation.

Function Documentation

void* memAlloc ( int  nb)

Allocate a block of memory from the heap.

The memory allocated by this function should only be accessed by the calling application. The pointer is not guaranteed to be valid for other applications.

Parameters
nbNumber of bytes to allocate.
Returns
NULL if memory could not be allocated.
A pointer to the newly allocated, uninitialized, block.
void* memAllocZero ( int  nb)

Allocate and zero a block of memory from the heap.

This is equivalent to calling memAlloc() followed by memset().

Parameters
nbNumber of bytes to allocate.
Returns
NULL if memory could not be allocated.
A pointer to the newly allocated, zero-initialized, block.
void memFree ( void *  p)

Release a previously allocated block.

Parameters
pA pointer returned by memAlloc()
void* memRealloc ( void *  oldp,
int  nb 
)

Resize a block of memory, or allocate a new one.

The data pointed by oldp is shallow-copied (using memcpy()) to the new pointer on success. This is equivalent to the ANSI C function realloc().

Parameters
oldpAddress of the memory block to resize.
nbNumber of bytes to resize oldp to.
Returns
NULL if oldp could not be resized and new memory could not be allocated.
A pointer to the newly allocated memory, its prefix is the same as oldp.
Generated on Mon Mar 27 2017 15:42:53 for LAR Library by   doxygen 1.8.9.1