table of contents
RDSALLOC(3) | RDS PHYSICAL FUNCTIONS | RDSALLOC(3) |
NAME¶
rdsalloc - memory allocation function
ORIGIN¶
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris, France.
Web : http://asim.lip6.fr/recherche/alliance/
E-mail : alliance-users@asim.lip6.fr
SYNOPSYS¶
#include "rdsnnn.h"
char ∗rdsalloc( Size, Heap )
unsigned int Size;
char Heap;
PARAMETER¶
DESCRIPTION¶
The rdsalloc function can do memory allocation by block or by heap. If the user wants to allocate by block, he sets the parameter Heap to the constant RDS_ALLOC_BLOCK else, he wants to allocate by heap so the parameter Heap is set to RDS_ALLOC_HEAP. If rdsalloc is used with the constant RDS_ALLOC_BLOCK then rdsalloc is used as standard language C function malloc(). If the user allocates by heap then : At the first allocation of the block of size the parameter ´Size´, a heap of size multiple of the block Size is allocated. When another allocation of the same size is done then if the the heap isn't full then a pointer (of size=´Size´) is returned else a new heap is allocated and a pointer returned. Like this, the user does really one allocation (he has many pointers) to minimize fragmentation. Heap allocation is usefull if the user has to allocate many pointers of the same size (ex: rdsrec_list structure).
RETURN VALUE¶
pointer to the allocated memory is returned.
ERRORS¶
"Rds202: rdsalloc error, can't continue !"
EXAMPLE¶
#include "rdsnnn.h" main() { rdsrec_list ∗Rectangle; rdsfig_list ∗Figure; Rectangle =
(rdsrec_list ∗) rdsalloc (sizeof(rdsrec_list ∗),RDS_ALLOC_HEAP); Figure =
(rdsfig_list ∗) rdsalloc (sizeof(rdsfig_list ∗),RDS_ALLOC_BLOCK); }
SEE ALSO¶
librds, rdsfree
BUG REPORT¶
This tool is under development at the ASIM department of
the LIP6 laboratory.
We need your feedback to improve documentation and tools.
October 1, 1997 | ASIM/LIP6 |