valloc()

Выделить выравненный блок памяти на куче

Прототип:

#include <stdarg.h>
void * valloc( size_t size);

Аргументы:

size
Размер блока памяти для выделения, в байтах.

Библиотека:

libc

Описание:

Функция valloc() выделяет блок памяти на куче, который выравнен по границе страницы. Эквивалентно:

memalign( sysconf( _SC_PAGESIZE ), size );


Note: Так как реализация malloc() использует 32-битное знаковое целое число для представления размера, вы не можете выделить больше чем 2 GB за раз. Если размер больше чем 2 GB, valloc() выдаст ошибку ENOMEM.

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

Указатель на блок выделенной памяти.

Если возникла ошибка функция возвращает NULL, код ошибки записывается в errno.

Коды ошибок:

ENOMEM
Недостаточно доступной памяти с запрашиваемым выравниванием.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

memalign(), sysconf()




Предыдущий раздел: Описание API системной библиотеки