Поделиться через


_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. Дополнительные сведения см. в разделе Примеры вызова неуправляемого кода.

См. также

Ссылки

Процедуры отладки