Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_free_dbg

Libère un bloc de mémoire dans le tas (version Debug uniquement).

void _free_dbg( 
   void *userData,
   int blockType 
);

userData

Pointeur du bloc de mémoire alloué à libérer.

blockType

Type de bloc de mémoire alloué à libérer : _CLIENT_BLOCK, _NORMAL_BLOCK, ou _IGNORE_BLOCK.

La fonction _free_dbg est une version Debug de la fonction _free. Lorsque _DEBUG n'est pas défini, chaque appel à _free_dbg est réduit à un appel à free. free et _free_dbg libèrent un bloc de mémoire dans le tas de base, mais _free_dbg s'adapte aux deux fonctionnalités de débogage : la capacité à conserver les blocs dans la liste liée du tas pour simuler des conditions de mémoire insuffisante et un paramètre de type de bloc pour libérer l'allocation spécifique types.

_free_dbg exécute un contrôle de validité sur tous les fichiers spécifiés et tous les emplacements de bloc avant d'exécuter l'opération libre. L'application n'est pas destinée à fournir ces informations. Lorsque un bloc de mémoire est libéré, le gestionnaire de tas de débogage vérifie automatiquement l'intégrité des mémoires tampons de chaque côté de la partie de l'utilisateur et envoie un rapport d'erreur si un remplacement a eu lieu. Si le champ de bits _CRTDBG_DELAY_FREE_MEM_DF de l'indicateur _crtDbgFlag est défini, le bloc libéré est rempli avec la valeur 0xDD, assigné _FREE_BLOCK de bloc, et conservé dans la liste liée du tas de blocs de mémoire.

Si une erreur se produit en libérant la mémoire, errno est défini avec les informations du système d'exploitation sur la nature de l'échec. Pour plus d'informations, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

Pour obtenir des informations sur la façon dont les blocs de mémoire sont alloués, initialisés, et gérés dans la version Debug du tas de base, consultez Détails du tas de débogage CRT. Pour obtenir des informations sur les types de bloc d'allocation et leur utilisation, consultez Types de blocs sur le tas de débogage. Pour obtenir des informations sur les différences entre appeler une fonction standard du tas et sa version Debug dans une version debug d'une application, consultez Versions Debug des fonctions d'allocation du tas.

Routine

En-tête requis

_free_dbg

<crtdbg.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Pour un exemple d'utilisation de _free_dbg, consultez crt_dbg2.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft