Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Exécute des vérifications de sécurité sur le tas.
int _heapchk( void );
Valeur de retour
retourne un d'_heapchk les constantes suivantes de manifeste d'entiers définies dans Malloc.h.
_HEAPBADBEGIN
Les informations d'en-tête initiales sont mauvaises ou ne peuvent pas être détectées._HEAPBADNODE
Le mauvais nœud a été détecté dans le tas est endommagé._HEAPBADPTR
Le pointeur dans le tas est pas valide._HEAPEMPTY
le tas n'a pas été initialisé._HEAPOK
le tas semble être cohérent.
en outre, si une erreur se produit, _heapchk définit errno à ENOSYS.
Notes
Les problèmes tas-mis en relation par débogage à de fonction d' _heapchk en recherchant la sécurité minimale du tas.Si le système d'exploitation ne prend pas en charge _heapchk(par exemple, Windows 98), la fonction retourne _HEAPOK et définit errno à ENOSYS.
Configuration requise
routine |
en-tête requis |
en-tête facultatif |
|---|---|---|
_heapchk |
<malloc.h> |
<errno.h> |
Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.
Exemple
// 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;
}
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.