_heapset
최소한의 일관성을 위해 힙을 체크하고 지정된 값으로 사용가능한 항목을 설정합니다.
int _heapset(
unsigned int fill
);
매개 변수
- fill
Fill 문자
반환 값
_heapset 는 Malloc.h에 정의된 다음 정수 매니페스트 상수 중 하나를 반환 합니다.
_HEAPBADBEGIN
초기 헤더 정보가 잘못 됬거나 없습니다._HEAPBADNODE
힙 손상 또는 잘못된 노드를 찾을 수 있습니다._HEAPEMPTY
힙은 초기화되지 않습니다._HEAPOK
힙은 일관성이 있는 것처럼 보입니다.
게다가, 오류가 발생 한 경우 _heapset 은 errno 를 ENOSYS설정합니다.
설명
_heapset 함수는 실수로 덮어쓴 노드들이나 사용가능한 메모리 위치를 보여줍니다.
_heapset 는 힙에서 최소한의 일관성 검사를 하고 fill 값으로 힙의 사용가능한 항목들의 각 바이트를 설정합니다. 이 알려진 값은 사용가능한 노드들과 해제된 메모리에 실수로 덮어쓴 데이터를 포함하는 힙의 메모리 위치를 보여줍니다. 운영 체제를 지원 하지 않는 경우, _heapset(예: Windows 98), 함수는 _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를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.