_free_dbg
Libera un blocco di memoria nell'heap (versione di debug solo).
void _free_dbg(
void *userData,
int blockType
);
Parametri
userData
Puntatore al blocco di memoria allocata da liberare.blockType
Tipo di blocco di memoria allocata da liberare: _CLIENT_BLOCK, _NORMAL_BLOCK, o _IGNORE_BLOCK.
Note
_free_dbgla funzione è una versione di debug di libero funzione.quando _DEBUG non è definita, ogni chiamata a _free_dbg è stato ridotto a una chiamata a free.entrambi free e _free_dbg liberare un blocco di memoria nell'heap di base, ma _free_dbgappropriata due funzionalità di debug: la possibilità di salvare ha liberato i blocchi elenco collegato dell'heap per simulare condizioni di memoria insufficiente e un parametro di tipo blocco per liberare tipi specifici di allocazione.
_free_dbg esegue un controllo di validità di tutti i file e i percorsi specificati di blocco prima di eseguire l'operazione libera.L'applicazione non è prevista fornire queste informazioni.Quando un blocco di memoria viene liberato, il gestore dell'heap di debug controlla automaticamente l'integrità dei buffer presenti da entrambi i lati della parte dell'utente e genera una segnalazione errori se sovrascrivere si è verificato.se _CRTDBG_DELAY_FREE_MEM_DFcampo di bit di _crtDbgFlag il flag è impostato, il blocco liberato viene riempito con un valore 0xDD, assegnato _FREE_BLOCK tipo di blocco e mantenere un elenco collegato dell'heap dei blocchi di memoria.
Se si verifica un errore in liberare la memoria, errno è impostato con informazioni dal sistema operativo sulla natura dell'errore.Per ulteriori informazioni, vedere errno, _doserrno, _sys_errlist e _sys_nerr.
Per informazioni su come i blocchi di memoria vengono allocati, inizializzati e vengono gestiti nella versione di debug dell'heap di base, vedere Gestione della memoria e heap di debug.Per informazioni sui tipi di blocchi di allocazione e come vengono utilizzati, vedere Tipi di blocchi sull'heap di debug.Per informazioni sulle differenze tra chiamare una funzione standard dell'heap e la relativa versione di debug in una build di debug di un'applicazione, vedere Utilizzando la versione di debug nella versione di base.
Requisiti
routine |
Intestazione di associazione |
---|---|
_free_dbg |
<crtdbg.h> |
Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.
Esempio
Per un esempio di utilizzo _free_dbg, vedere crt_dbg2.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.