_heapchk
Führt Konsistenzprüfungen auf dem Heap fehl.
int _heapchk( void );
Rückgabewert
_heapchk gibt eine der folgenden ganzzahligen Manifestkonstanten zurück, die in Malloc.h definiert sind.
_HEAPBADBEGIN
Ursprüngliche Header ist ungültig oder kann nicht gefunden werden._HEAPBADNODE
Ungültiger Knoten wurde gefunden, Heap oder ist beschädigt._HEAPBADPTR
Zeiger in Heap ist ungültig._HEAPEMPTY
Heap kann nicht initialisiert._HEAPOK
Heap wird, konsistent.
Wenn ein Fehler auftritt, setzt _heapchkerrno zudem auf ENOSYS.
Hinweise
Die _heapchk-Funktionshilfen debuggen Heap-verknüpfte Probleme, indem für minimale Konsistenz des Heaps überprüfen. Wenn das Betriebssystem nicht _heapchk, (z Windows 98) unterstützt, wird _HEAPOK zurückgegeben und errno auf ENOSYS fest.
Anforderungen
Routine |
Erforderlicher Header |
Optionaler Header |
---|---|---|
_heapchk |
<malloc.h> |
<errno.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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;
}
}
.NET Framework-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.