_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, and _sys_nerr.
Сведения о выделении, инициализации и управлении блоками памяти в отладочной версии основной кучи см. в разделе Сведения о куче отладки CRT. Сведения о типах блоков выделения и о том, как они используются, см. в разделе Типы блоков в отладочной куче. Сведения о различиях между вызовом стандартной функции кучи и ее отладочной версии в сборке отладки приложения см. в разделе Версии отладки функций выделения кучи.
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_aligned_free_dbg |
<crtdbg.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызова неуправляемого кода.