Поделиться через


_realloc_dbg

Reallocates указанный блок памяти в куче, перемещение и изменение размера блока (отладочные версии).

void *_realloc_dbg(
   void *userData,
   size_t newSize,
   int blockType,
   const char *filename,
   int linenumber 
);

Параметры

  • userData
    Указатель к ранее выбранному блок памяти.

  • newSize
    Для reallocated запрошенный размер блока (в байтах).

  • blockType
    Запрошенный тип для reallocated блока: _CLIENT_BLOCK OR _NORMAL_BLOCK.

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

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

filename и linenumber параметры доступны только при _realloc_dbg вызывает явно или _CRTDBG_MAP_ALLOC константа препроцессора была определена.

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

При успешном завершении либо эта функция возвращает указатель на части пользователей reallocated блока памяти вызывает новую функцию обработчика или возвращает значение NULL.Полное описание возвращенной расширения функциональности см. в следующем разделе " примечания ".Дополнительные сведения о том, как новая функция обработчика используется см. в разделе Повторное выделение функция.

Заметки

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

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

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

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

Требования

Процедура

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

_realloc_dbg

<crtdbg.h>

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

Библиотеки

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

Пример

См. пример в _msize_dbg разделе.

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

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

См. также

Ссылки

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

_malloc_dbg