![]() |
![]() |
![]() |
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()
![]() |
![]() |
![]() |