Sdílet prostřednictvím


_heapchk

Spuštění kontroly konzistence haldy.

int _heapchk( void );

Vrácená hodnota

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

  • _HEAPBADBEGIN
    Informace o počáteční záhlaví je chybný nebo nebyl nalezen.

  • _HEAPBADNODE
    Byl nalezen chybný uzlu nebo poškození haldy.

  • _HEAPBADPTR
    Ukazatel do haldy je neplatný.

  • _HEAPEMPTY
    Haldy nebyla inicializována.

  • _HEAPOK
    Konzistentní se zobrazí haldy.

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

Poznámky

_heapchk Funkce usnadňuje ladění potíží souvisejících s haldy kontrolou konzistence minimální haldy.Pokud operační systém nepodporuje _heapchk(například Windows 98), vrátí funkce _HEAPOK a errno na ENOSYS.

Požadavky

Rutina

Požadované záhlaví

Volitelné záhlaví

_heapchk

<malloc.h>

<errno.h>

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

Příklad

// crt_heapchk.c
// This program checks the heap for
// consistency and prints an appropriate message.
 
#include <malloc.h>
#include <stdio.h>

int main( void )
{
   int  heapstatus;
   char *buffer;

   // Allocate and deallocate some memory
   if( (buffer = (char *)malloc( 100 )) != NULL )
      free( buffer );

   // Check heap status
   heapstatus = _heapchk();
   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;
   }
}
  

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

_heapmin

_heapset

_heapwalk