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