_heapchk
Tutarlılık denetimleri öbek üzerinde çalışır.
int _heapchk( void );
Dönüş Değeri
_heapchkMalloc.h içinde tanımlanan aşağıdaki tamsayı bildirim sabitlerden birine döndürür.
_HEAPBADBEGIN
İlk başlık bilgileri geçersiz veya bulunamıyor._HEAPBADNODE
Hatalı düğüm bulunamadı veya yığını zarar görmüş._HEAPBADPTR
İçine yığın işaretçisi geçerli değil._HEAPEMPTY
Yığın başlatılmadı._HEAPOK
Yığın tutarlı görünüyor.
Bir hata oluşursa, buna ek olarak, _heapchk ayarlar errno için ENOSYS.
Notlar
_heapchk İşlevi yardımcı öbek en az tutarlılığını kontrol ederek öbek ilgili sorunları hata ayıklama.İşletim sistemi desteklemediği, _heapchk(örneğin, Windows 98), işlevini verir _HEAPOK ve errno için ENOSYS.
Gereksinimler
Yordamı |
Gerekli başlık |
İsteğe bağlı bir üstbilgi |
---|---|---|
_heapchk |
<malloc.h> |
<errno.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// 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 Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.