Sdílet prostřednictvím


_heapset

Kontroly konzistence minimální haldách a nastaví volné položky na zadanou hodnotu.

int _heapset( 
   unsigned int fill 
);

Parametry

  • fill
    Výplň znaku.

Vrácená hodnota

_heapsetVrátí jednu z následujících konstant manifestu celé číslo definované v Malloc.h.

  • _HEAPBADBEGIN
    Původní hlavička informace nebyl nalezen nebo je neplatný.

  • _HEAPBADNODE
    Halda poškozená nebo chybné uzel nalezen.

  • _HEAPEMPTY
    Haldy nebyl inicializován.

  • _HEAPOK
    Konzistentní se zobrazí haldy.

Kromě toho, pokud dojde k chybě _heapset nastaví errno na ENOSYS.

Poznámky

_heapset Funkce zobrazuje umístění volné paměti nebo uzly, které byly neúmyslně přepsány.

_heapsetZkontroluje konzistenci minimální na haldy a poté nastaví každý bajt volných položek haldě fill hodnotu.Tato známá hodnota zobrazuje umístění paměti haldy obsahovat volné uzly a které obsahují data, která neúmyslně byly zapsány do uvolněné paměti.Pokud operační systém nepodporuje _heapset(například Windows 98), vrátí funkce _HEAPOK a errno na ENOSYS.

Požadavky

Rutina

Požadované záhlaví

Volitelné záhlaví

_heapset

<malloc.h>

<errno.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

// 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 );
}
  

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Přidělení paměti

_heapadd

_heapchk

_heapmin

_heapwalk