_aligned_free_dbg
Libera un blocco di memoria che è stato allocato con _aligned_malloc o _aligned_offset_malloc (solo versione di debug).
void _aligned_free_dbg( void *memblock );
Parametri
- memblock
Puntatore al blocco di memoria che è stato restituito alla funzione _aligned_malloc o _aligned_offset_malloc.
Note
La funzione _aligned_free_dbg è una versione di debug della funzione _aligned_free. Quando _DEBUG non è definito, ogni chiamata a _aligned_free_dbg viene ridotta a una chiamata a _aligned_free. Sia _aligned_free che _aligned_free_dbg liberano un blocco di memoria nell'heap di base, ma _aligned_free_dbg include una funzionalità di debug: la possibilità di mantenere i blocchi liberati nell'elenco collegato dell'heap per simulare una condizione di memoria insufficiente.
_aligned_free_dbg esegue un controllo di validità su tutti i percorsi di file e di blocchi specificati prima di eseguire prima di procedere a liberare i blocchi. Non è previsto che l'applicazione fornisca queste informazioni. Quando un blocco di memoria viene liberato, il gestore dell'heap di debug controlla automaticamente l'integrità dei buffer a ogni lato della porzione utente e genera un rapporto errori se si sono verificate sovrascritture. Se il campo di bit _CRTDBG_DELAY_FREE_MEM_DF del flag _crtDbgFlag è impostato, il blocco liberato viene riempito con il valore 0xDD, viene assegnato il tipo di blocco _FREE_BLOCK e il blocco viene mantenuto nell'elenco collegato di blocchi di memoria dell'heap.
Se si verifica un errore nel liberare la memoria, errno viene impostato con informazioni dal sistema operativo sulla natura dell'errore. Per altre informazioni, vedere errno, _doserrno, _sys_errlist, and _sys_nerr.
Per informazioni sulle modalità di allocazione, inizializzazione e gestione dei blocchi di memoria nella versione di debug dell'heap di base, vedere Informazioni dettagliate sull'heap di debug CRT. Per informazioni sui tipi di blocchi di allocazione e su come vengono usati, vedere Tipi di blocchi sull'heap di debug. Per informazioni sulle differenze tra chiamare una funzione standard dell'heap e la sua versione di debug nella build di debug di un'applicazione, vedere Versioni di debug di funzioni di allocazione heap.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_aligned_free_dbg |
<crtdbg.h> |
Per altre informazioni sulla compatibilità, vedere la sezione Compatibilità nell'introduzione.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione C standard, usare PInvoke. Per altre informazioni, vedere Esempi di platform invoke.