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()