Поделиться через


_heapset

Проверяет наваливают для минимальной согласованности и задают беспошлинные ввозы в указанное значение.

int _heapset( 
   unsigned int fill 
);

Параметры

  • fill
    Символ заполнения.

Возвращаемое значение

_heapset возвращает по одной из следующих констант манифеста целого числа, определенных в Malloc.h.

  • _HEAPBADBEGIN
    Начальные, не входящие данные заголовка недопустимые или.

  • _HEAPBADNODE
    Поврежденная куча или неправильный обнаружен узел.

  • _HEAPEMPTY
    Куча не инициализирована.

  • _HEAPOK
    Кажется, что куча согласована.

Кроме того, если возникает ошибка _heapset наборы errno В ENOSYS.

Заметки

_heapset функция отображает свободные областей памяти или непреднамеренно узлы, которые были перезаписаны.

_heapset проверяет минимальной согласованности в куче, а затем устанавливает каждый байт свободных записей в куче fill значения.Это известное значение, указывающее, которые содержат свободные областей памяти кучи узлов и непреднамеренно содержит данные, которые были записаны в освобоженной памяти.Если операционная система не поддерживает _heapset(например, 98), функция возвращает Windows _HEAPOK и наборы errno В ENOSYS.

Требования

Процедура

Обязательный заголовок

Необязательный заголовок

_heapset

<malloc.h>

<errno.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

// 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

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Выделение памяти

_heapadd

_heapchk

_heapmin

_heapwalk