_heapset
Vérifie la cohérence minimale des tas et définit les entrées libres à une valeur spécifiée.
int _heapset(
unsigned int fill
);
Paramètres
- fill
Caractère Fill.
Valeur de retour
_heapset retourne un des constantes de manifeste d'entiers suivantes définies dans Malloc.h.
_HEAPBADBEGIN
Les informations d'en-tête initiales sont non valides ou introuvables._HEAPBADNODE
Tas endommagé ou nœud incorrect trouvé._HEAPEMPTY
Tas pas encore initialisé_HEAPOK
Le tas apparaît être cohérent.
En outre, si une erreur se produit, _heapset définit errno à ENOSYS.
Notes
La fonction _heapset affiche les emplacements des nœuds de mémoire disponibles qui ont été remplacés involontairement.
_heapset examine la cohérence minimale sur le tas et affecte chaque octet des entrées libres du tas à la valeur fill. Cette valeur connue montre quels emplacements de mémoire du tas contiennent les nœuds disponibles et quels emplacements contiennent des données qui ont été involontairement écrites dans la mémoire libérée. Si le système d'exploitation ne prend pas en charge _heapset(par exemple, Windows 98), la fonction retourne _HEAPOK et affecte à errno la valeur ENOSYS.
Configuration requise
Routine |
En-tête requis |
En-tête facultatif |
---|---|---|
_heapset |
<malloc.h> |
<errno.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.
Exemple
// 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 );
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.