_aligned_realloc_dbg

Изменяет размер блока памяти, выбрав с _aligned_malloc OR _aligned_offset_malloc (отладка версия).

void * _aligned_realloc_dbg(
   void *memblock, 
   size_t size, 
   size_t alignment,
   const char *filename,
   int linenumber 
);

Параметры

  • [входящий] memblock
    Текущий указатель блока памяти.

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

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

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

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

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

_aligned_realloc_dbg возвращает пустой указатель на reallocated (и, возможно, перемещена) блок памяти.Возвращаемое значение NULL если размер равен нулю, а аргумент буфера нет NULLили, если недостаточно свободной памяти, чтобы развернуть блок в заданный размер.В первом случае освобождается исходный блок.Во втором исходный блок не изменяется.Указывает возвращаемого значения к объему хранения, который гарантированно подходяще выравниваются для хранения любого типа объекта.Для получения указателя на тип, отличный от свободного пространства, используйте приведение типов в возвращаемом значении.

Ошибка для reallocate память и изменить выравнивание блока.

Заметки

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

_aligned_realloc_dbg reallocates указанный блок памяти с немного больше места, чем запрошено newSize.newSize может быть больше или меньше размер исходного выделенного блока памяти.Дополнительное пространство используется диспетчером отладочной кучи для связывания блоки памяти, отладки и предоставить приложению отладочные данные заголовка и перезаписать буферы.Переразмещение может привести к появлению переместить исходный блок памяти в другое расположение в куче, а также изменять размер блока памяти.Если блок памяти, первоначально будут перезаписаны перемещается содержимое блока.

_aligned_realloc_dbg наборы errno В ENOMEM, если выделение памяти завершается неудачей или при необходимости объем памяти (включая дополнительную нагрузку, упомянутые ранее) превышает _HEAP_MAXREQ.Дополнительные сведения об этом и других кодах ошибок см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.

Кроме того, _aligned_realloc_dbg проверяет параметры.If alignment не является степенью числа 2, эта функция вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эта функция возвращает NULL и наборы errno В EINVAL.

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

Требования

Процедура

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

_aligned_realloc_dbg

<crtdbg.h>

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

Библиотеки

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

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

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

См. также

Ссылки

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