_heapset
Yığınlarına en az tutarlılığını denetler ve boş girdi belirtilen bir değere ayarlar.
int _heapset(
unsigned int fill
);
Parametreler
- fill
Karakter doldurun.
Dönüş Değeri
_heapsetMalloc.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 bulunamadı._HEAPBADNODE
Yığın bozuk veya hatalı düğüm bulundu._HEAPEMPTY
Yığın başlatılmadı._HEAPOK
Yığın tutarlı görünüyor.
Bir hata oluşursa, buna ek olarak, _heapset ayarlar errno için ENOSYS.
Notlar
_heapset İşlevi boş bellek konumlarını veya yanlışlıkla üzerine yazılmış olan düğümleri gösterir.
_heapsetöbek üzerindeki en az tutarlılığını denetler ve her baytının öbek 's ücretsiz girişe ayarlar fill değeri.Bu bilinen değer boş düğümleri hangi yığın bellek konumlarını içerir ve, istem dışı bırakılmış belleğe yazılan verileri içeren gösterir.İşletim sistemi desteklemediği, _heapset(ö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 |
---|---|---|
_heapset |
<malloc.h> |
<errno.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// 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 );
}
.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.