return the number of times that an item of a given size can be allocated
#include <malloc.h> unsigned int _freect( size_t size );
The _freect() function returns the number of times that _nmalloc() (or malloc() in small data models) can be called to allocate a item of size bytes.
In the small and medium memory models, the default data segment is only extended as needed to satisfy requests for memory allocation. Therefore, you need to call _nheapgrow() in these memory models before calling _freect() in order to get a meaningful result. |
The number of calls.
#include <stdio.h> #include <malloc.h> void main() { int i; printf( "Can allocate %u longs before _nheapgrow\n", _freect( sizeof(long) ) ); _nheapgrow(); printf( "Can allocate %u longs after _nheapgrow\n", _freect( sizeof(long) ) ); for( i = 1; i < 1000; i++ ) { _nmalloc( sizeof(long) ); } printf( "After allocating 1000 longs:\n" ); printf( "Can still allocate %u longs\n", _freect( sizeof(long) ) ); }
produces the output:
Can allocate 0 longs before _nheapgrow Can allocate 10447 longs after _nheapgrow After allocating 1000 longs: Can still allocate 9447 longs
WATCOM
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
calloc(), _heapgrow(), malloc(), _memavl(), _memmax()