_aligned_offset_malloc_dbg
Выделяет память для указанной границы выравнивания (отладочные версии).
void * _aligned_offset_malloc_dbg(
size_t size,
size_t alignment,
size_t offset,
const char *filename,
int linenumber
);
Параметры
[входящий] size
Размер выделения памяти.[входящий] alignment
Значение выравнивания, которое должно быть мощью целого числа 2.[входящий] offset
Смещение в выделение памяти для принудительного выполнения распределения.[входящий] filename
Указатель на имя исходного файла, запросившего операцию или NULL распределения.[входящий] linenumber
Номер линии в исходном файле, где была запрошена операция выделения или NULL.
Возвращаемое значение
Указатель на блок памяти, который был выбран или NULLесли операция завершилась с ошибкой.
Заметки
_aligned_offset_malloc_dbg отладочная версия _aligned_offset_malloc функция.После _Отладка не определяет каждый вызов _aligned_offset_malloc_dbg уменьшает к вызову _aligned_offset_malloc.Оба _aligned_offset_malloc и _aligned_offset_malloc_dbg выберите блок памяти в куче, но базовой _aligned_offset_malloc_dbg есть несколько функций отладки: буферы с обеих сторон части блока пользователя проверяемое для параметра типа блока утечки, чтобы отслеживать определенные типы распределения и filename/linenumber сведения, чтобы указать начало координат запросов выделения.
_aligned_offset_malloc_dbg выделяет блок памяти с немного больше места, чем запрошено size.Дополнительное пространство используется диспетчером отладочной кучи для связывания блоки памяти, отладки и предоставить приложению отладочные данные заголовка и перезаписать буферы.При выборе части блока пользователя блока заполняется значением 0xCD и каждый из буферов, чтобы переписать заполнено 0xFD.
_aligned_offset_malloc_dbg выравнивание полезны в тех случаях, когда требуется для вложенного элемента. например, если требуется выравнивание было во вложенном классе.
_aligned_offset_malloc_dbg находит on malloc; дополнительные сведения см. в разделе malloc.
Эта функция устанавливает errno В ENOMEM, если выделение памяти не удалось или если запрошенный размер был больше _HEAP_MAXREQ.Дополнительные сведения о errno см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.Кроме того, _aligned_offset_malloc проверяет параметры.If alignment степень 2 или если нет offset больше или равно size и не равен нулю, эта функция вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то эта функция возвращает NULL и наборы errno В EINVAL.
Сведения о том, как блоки памяти, выделенные инициализируются и управляемые в отладочной версии базовой кучи см. в разделе Управление памятью и куча отладки.
Дополнительные сведения о типах блока распределения и способы их использования см. в разделе Типы блоков в куче отладки.
Требования
Процедура |
Обязательный заголовок |
---|---|
_aligned_offset_malloc_dbg |
<crtdbg.h> |
Дополнительные сведения о совместимости см. Совместимость во введении.
Библиотеки
Отладочные версии Библиотеки времени выполнения C только для чтения.
Эквивалент в .NET Framework
Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.