Aracılığıyla paylaş


_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.

Ayrıca bkz.

Başvuru

Bellek Ayırma

_heapadd

_heapchk

_heapmin

_heapwalk