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