_heapset

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Comprueba que los montones mantienen una coherencia mínima y establece las entradas libres a un valor especificado.

System_CAPS_ICON_important.jpg Importante

Esta función está obsoleta. A partir de Visual Studio 2015, no está disponible en CRT.

int _heapset(   
   unsigned int fill   
);  

Parámetros

fill
Carácter de relleno.

_heapset devuelve una de las siguientes constantes de manifiesto enteras, definidas en Malloc.h.

_HEAPBADBEGIN
La información de encabezado inicial no es válida o no se encuentra.

_HEAPBADNODE
Se ha encontrado un montón dañado o un nodo incorrecto.

_HEAPEMPTY
El montón no está inicializado.

_HEAPOK
El montón parece ser coherente.

Además, si se produce un error, _heapset establece errno en ENOSYS.

La función _heapset muestra las ubicaciones de memoria libre o los nodos que se han sobrescrito accidentalmente.

_heapset comprueba la coherencia mínima en el montón y, después, establece cada byte de las entradas libres del montón al valor fill. Este valor conocido muestra las ubicaciones de memoria del montón que contienen nodos libres y las que contienen datos que se escribieron involuntariamente en la memoria liberada. Si el sistema operativo no admite _heapset(por ejemplo Windows 98), la función devuelve _HEAPOK y establece errno en ENOSYS.

RutinaEncabezado necesarioEncabezado opcional
_heapset<malloc.h><errno.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

// crt_heapset.c // This program checks the heap and // fills in free entries with the character 'Z'. #include <malloc.h> #include <stdio.h> #include <stdlib.h> int main( void ) { int heapstatus; char *buffer; if( (buffer = malloc( 1 )) == NULL ) // Make sure heap is exit( 0 );                        //    initialized heapstatus = _heapset( 'Z' );        // Fill in free entries switch( heapstatus ) { case _HEAPOK: printf( "OK - heap is fine\n" ); break; case _HEAPEMPTY: printf( "OK - heap is empty\n" ); break; case _HEAPBADBEGIN: printf( "ERROR - bad start of heap\n" ); break; case _HEAPBADNODE: printf( "ERROR - bad node in heap\n" ); break; } free( buffer ); }  

OK - heap is fine  

No disponible. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Asignación de memoria
_heapadd
_heapchk
_heapmin
_heapwalk

Mostrar: