Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
The memory block allocation routines provide a simple yet powerful set of functions for managing a set of memory blocks of fixed size. More...
Files | |
| file | memb.c |
Memory block allocation routines. | |
| file | memb.h |
Memory block allocation routines. | |
Functions | |
| void | memb_init (struct memb_blocks *m) |
| Initialize a memory block that was declared with MEMB(). | |
| void * | memb_alloc (struct memb_blocks *m) |
| Allocate a memory block from a block of memory declared with MEMB(). | |
| char | memb_free (struct memb_blocks *m, void *ptr) |
| Deallocate a memory block from a memory block previously declared with MEMB(). | |
Detailed Description
The memory block allocation routines provide a simple yet powerful set of functions for managing a set of memory blocks of fixed size.
A set of memory blocks is statically declared with the MEMB() macro. Memory blocks are allocated from the declared memory by the memb_alloc() function, and are deallocated with the memb_free() function.
- Note:
- Because of namespace clashes only one MEMB() can be declared per C module, and the name scope of a MEMB() memory block is local to each C module.
The following example shows how to declare and use a memory block called "cmem" which has 8 chunks of memory with each memory chunk being 20 bytes large.
Function Documentation
| void * memb_alloc | ( | struct memb_blocks * | m ) |
| char memb_free | ( | struct memb_blocks * | m, |
| void * | ptr | ||
| ) |
Deallocate a memory block from a memory block previously declared with MEMB().
- Parameters:
-
m m A memory block previosly declared with MEMB(). ptr A pointer to the memory block that is to be deallocated.
- Returns:
- The new reference count for the memory block (should be 0 if successfully deallocated) or -1 if the pointer "ptr" did not point to a legal memory block.
Generated on Tue Jul 12 2022 12:52:12 by
1.7.2