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