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