_aligned_recalloc_dbg

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

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

Параметры

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

  • [входящий] num
    Количество элементов.

  • [входящий] size
    Размер в байтах каждого элемента.

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

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

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

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

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

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

Заметки

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

_aligned_recalloc_dbg reallocates указанный блок памяти с немного больше места, чем запрошенный размер (num * size), может быть больше или меньше размер исходного выделенного блока памяти.Дополнительное пространство используется диспетчером отладочной кучи для связывания блоки памяти, отладки и предоставить приложению отладочные данные заголовка и перезаписать буферы.Переразмещение может привести к появлению переместить исходный блок памяти в другое расположение в куче, а также изменять размер блока памяти.Часть пользователя блока заполняется значением 0xCD перезаписать и буферы заполняются 0xFD.

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

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

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

Требования

Процедура

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

_aligned_recalloc_dbg

<crtdbg.h>

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

Библиотеки

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

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

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

См. также

Ссылки

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