_heapchk
Menjalankan pemeriksaan konsistensi pada timbunan.
Sintaks
int _heapchk( void );
Nilai hasil
_heapchk
mengembalikan salah satu konstanta manifes bilangan bulat berikut yang ditentukan dalam Malloc.h.
Nilai hasil | Kondisi |
---|---|
_HEAPBADBEGIN |
Informasi header awal buruk atau tidak dapat ditemukan. |
_HEAPBADNODE |
Simpul buruk telah ditemukan atau timbunan rusak. |
_HEAPBADPTR |
Penunjuk ke dalam tumpukan tidak valid. |
_HEAPEMPTY |
Timbunan belum diinisialisasi. |
_HEAPOK |
Timbunan tampaknya konsisten. |
Selain itu, jika terjadi kesalahan, _heapchk
atur errno
ke ENOSYS
.
Keterangan
Fungsi ini _heapchk
membantu men-debug masalah terkait timbunan dengan memeriksa konsistensi minimal timbunan. Jika sistem operasi tidak mendukung _heapchk
(misalnya, Windows 98), fungsi mengembalikan _HEAPOK
dan mengatur errno
ke ENOSYS
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Rutin | Header yang diperlukan | Header opsional |
---|---|---|
_heapchk |
<malloc.h> | <errno.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// crt_heapchk.c
// This program checks the heap for
// consistency and prints an appropriate message.
#include <malloc.h>
#include <stdio.h>
int main( void )
{
int heapstatus;
char *buffer;
// Allocate and deallocate some memory
if( (buffer = (char *)malloc( 100 )) != NULL )
free( buffer );
// Check heap status
heapstatus = _heapchk();
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;
}
}
OK - heap is fine
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk