_aligned_free_dbg
Освобождает блок памяти, выделенный _aligned_malloc
или _aligned_offset_malloc
(только отладка).
Синтаксис
void _aligned_free_dbg(
void *memblock
);
Параметры
memblock
Указатель на блок памяти, возвращенный в функцию _aligned_malloc
или _aligned_offset_malloc
.
Замечания
Функция _aligned_free_dbg
— это отладочная версия _aligned_free
функции. Если _DEBUG
не определено, каждый вызов _aligned_free_dbg
уменьшается до вызова _aligned_free
. И _aligned_free
, и _aligned_free_dbg
освобождают блок памяти в основной куче, однако _aligned_free_dbg
включает возможность отладки: возможность хранить освободившиеся блоки в связанном списке кучи для моделирования условий недостатка памяти.
_aligned_free_dbg
выполняет проверку действительности для всех указанных файлов и расположений блоков перед выполнением операции освобождения. Приложение не должно предоставлять эти сведения. При освобождении блока памяти диспетчер кучи отладки автоматически проверяет целостность буферов на обеих сторонах пользовательской части. Он выдает отчет об ошибке, если произошла перезапись. _CRTDBG_DELAY_FREE_MEM_DF
Если задано битовое поле _crtDbgFlag
флага, освобожденный блок заполняется значением 0xDD, присваивается _FREE_BLOCK
тип блока и хранится в связанном списке блоков памяти кучи.
В случае возникновения ошибки при освобождении памяти для errno
задаются сведения о характере сбоя, полученные от операционной системы. Дополнительные сведения см. в разделе errno
, _doserrno
, _sys_errlist
, и _sys_nerr
.
Сведения о выделении, инициализации и управлении блоками памяти в отладочной версии базовой кучи см. в сведениях об отладочной куче CRT. Сведения о типах блоков выделения и их использовании см. в разделе "Типы блоков" в куче отладки. Сведения о различиях между стандартными функциями кучи и их версиями отладки см. в разделе "Отладка версий функций выделения кучи".
Требования
Маршрут | Обязательный заголовок |
---|---|
_aligned_free_dbg |
<crtdbg.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.