hb_gcAlloc()

Asigna memoria que será recolectada por el recolector de memoria.

Syntax

#include <hbapi.h>
void *hb_gcAlloc( ULONG ulSize, HB_GARBAGE_FUNC_PTR pCleanupFunc );

Arguments

<ulSize> es el tamaño solicitado del bloque de memoria.

<pCleanupFunc> es un Puntero a la función HB_GARBAGE_FUNC que será llamada directamente antes de la liberación del bloque de memoria sin uso ó NULL. Esta función debería liberar toda otra memoria asignada y almacenada dentro del bloque de memoria. Por ejemplo, esta libera todos los items almacenados dentro del array. La función recibe un sólo parámetro: el puntero a la memoria asignada por hb_gcAlloc().

Returns

Devuelve un puntero a la memoria asignada ó esta generará un error interno irrecuperable.

Description

hb_gcAlloc() es usada para asignar la memoria que será rastreada por el RM. Este permite una apropiada liberación de memoria en el caso de variables auto-referenciadas ó con referencias cruzadas a nivel de Harbour. La memoria asignada con esta función debería ser liberada con la función hb_gcFree() ó esta será automáticamente desasignada por el RM si no esta bloqueada ó si no esta referenciada por alguna variable a nivel de Harbour.
Examples
      Vea  ../source/vm/arrays.c

     PHB_BASEARRAY pArr = (PHB_BASEARRAY) hb_gcAlloc( sizeof( HB_BASEARRAY),
                                                  hb_arrayReleaseGarbage );
Status

Clipper

Compliance

Esta función es una extensión de Harbour.

Platforms

Todas

Files

Archivo fuente: ../source/vm/garbage.c

See Also