Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
En düşük tutarlılık için yığınları denetler ve boş girişleri belirtilen bir değere ayarlar.
Önemli
Bu işlev kullanımdan kaldırıldı. Visual Studio 2015'te başlayarak, CRT'de kullanılamaz.
Sözdizimi
int _heapset(
unsigned int fill
);
Parametreler
fill
Dolgu karakteri.
Dönüş değeri
_heapset Malloc.h dosyasında tanımlanan aşağıdaki tamsayı bildirim sabitlerinden birini döndürür.
| Value | Açıklama |
|---|---|
_HEAPBADBEGIN |
İlk üst bilgi bilgileri geçersiz veya bulunamadı. |
_HEAPBADNODE |
Yığın hasar görmüş veya bozuk düğüm bulundu. |
_HEAPEMPTY |
Yığın başlatılmadı. |
_HEAPOK |
Yığın tutarlı görünüyor. |
Buna ek olarak, bir hata oluşursa olarak _heapset ayarlar errno ENOSYS.
Açıklamalar
işlevi, _heapset yanlışlıkla üzerine yazılmış boş bellek konumlarını veya düğümlerini gösterir.
_heapset yığında en düşük tutarlılığı denetler ve ardından yığının boş girişlerinin her baytını değere fill ayarlar. Bu bilinen değer, yığının hangi bellek konumlarının boş düğümler içerdiğini ve boş belleğe yanlışlıkla yazılmış verileri içerdiğini gösterir. İşletim sistemi desteklemiyorsa _heapset(örneğin, Windows 98), işlevi döndürür _HEAPOK ve olarak ENOSYSayarlarerrno.
Gereksinimler
| Yordam | Gerekli başlık | İsteğe bağlı üst bilgi |
|---|---|---|
_heapset |
<malloc.h> | <errno.h> |
Daha fazla uyumluluk bilgisi için Giriş'teki Uyumluluk bölümüne bakın.
Ö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 );
}
OK - heap is fine