[Previous]
[Contents]
[Next]

_freect()

return the number of times that an item of a given size can be allocated

Synopsis:

#include <malloc.h>
unsigned int _freect( size_t size );

Description:

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.


Note: 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.

Returns:

The number of calls.

Examples:

#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

Classification:

WATCOM

Safety:
Interrupt handler No
Signal handler No
Thread Yes

See also:

calloc(), _heapgrow(), malloc(), _memavl(), _memmax()


[Previous]
[Contents]
[Next]