_aligned_offset_malloc_dbg

Выделяет память для указанной границы выравнивания (отладочные версии).

void * _aligned_offset_malloc_dbg(
   size_t size, 
   size_t alignment, 
   size_t offset,
   const char *filename,
   int linenumber 
);

Параметры

  • [входящий] size
    Размер выделения памяти.

  • [входящий] alignment
    Значение выравнивания, которое должно быть мощью целого числа 2.

  • [входящий] offset
    Смещение в выделение памяти для принудительного выполнения распределения.

  • [входящий] filename
    Указатель на имя исходного файла, запросившего операцию или NULL распределения.

  • [входящий] linenumber
    Номер линии в исходном файле, где была запрошена операция выделения или NULL.

Возвращаемое значение

Указатель на блок памяти, который был выбран или NULLесли операция завершилась с ошибкой.

Заметки

_aligned_offset_malloc_dbg отладочная версия _aligned_offset_malloc функция.После _Отладка не определяет каждый вызов _aligned_offset_malloc_dbg уменьшает к вызову _aligned_offset_malloc.Оба _aligned_offset_malloc и _aligned_offset_malloc_dbg выберите блок памяти в куче, но базовой _aligned_offset_malloc_dbg есть несколько функций отладки: буферы с обеих сторон части блока пользователя проверяемое для параметра типа блока утечки, чтобы отслеживать определенные типы распределения и filename/linenumber сведения, чтобы указать начало координат запросов выделения.

_aligned_offset_malloc_dbg выделяет блок памяти с немного больше места, чем запрошено size.Дополнительное пространство используется диспетчером отладочной кучи для связывания блоки памяти, отладки и предоставить приложению отладочные данные заголовка и перезаписать буферы.При выборе части блока пользователя блока заполняется значением 0xCD и каждый из буферов, чтобы переписать заполнено 0xFD.

_aligned_offset_malloc_dbg выравнивание полезны в тех случаях, когда требуется для вложенного элемента. например, если требуется выравнивание было во вложенном классе.

_aligned_offset_malloc_dbg находит on malloc; дополнительные сведения см. в разделе malloc.

Эта функция устанавливает errno В ENOMEM, если выделение памяти не удалось или если запрошенный размер был больше _HEAP_MAXREQ.Дополнительные сведения о errno см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.Кроме того, _aligned_offset_malloc проверяет параметры.If alignment степень 2 или если нет offset больше или равно size и не равен нулю, эта функция вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эта функция возвращает NULL и наборы errno В EINVAL.

Сведения о том, как блоки памяти, выделенные инициализируются и управляемые в отладочной версии базовой кучи см. в разделе Управление памятью и куча отладки.

Дополнительные сведения о типах блока распределения и способы их использования см. в разделе Типы блоков в куче отладки.

Требования

Процедура

Обязательный заголовок

_aligned_offset_malloc_dbg

<crtdbg.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Библиотеки

Отладочные версии Библиотеки времени выполнения C только для чтения.

Эквивалент в .NET Framework

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Подпрограммы отладка