_heapset
Verifica pilhas consistência mínimo e define as entradas disponível com um valor especificado.
int _heapset(
unsigned int fill
);
Parâmetros
- fill
Caractere de preenchimento.
Valor de retorno
_heapset Retorna uma das seguintes constantes de manifesto de inteiro Malloc.h definidas.
_HEAPBADBEGIN
Informações de cabeçalho inicial inválidas ou não foi encontradas._HEAPBADNODE
Heap danificado ou nó inválido encontrado._HEAPEMPTY
heap não inicializado._HEAPOK
Heap parece estar consistente.
Além disso, se ocorrer um erro, _heapset Define errno para ENOSYS.
Comentários
The _heapset função mostra locais de memória disponível ou nós que acidentalmente substituídas.
_heapset verifica a consistência mínima na pilha e, em seguida, define cada byte de entradas disponível da heap para o fill valor. Este valor conhecido mostra quais locais de memória do heap contêm nós disponível e que contêm dados que foram gravados, inadvertidamente, memória liberada.If the operating system does not support _heapset(for example, Windows 98), the function returns _HEAPOK and sets errno to ENOSYS.
Requisitos
Rotina |
Cabeçalho necessário |
Cabeçalho opcional |
---|---|---|
_heapset |
<malloc.h> |
<errno.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Exemplo
// 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
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.