Namespaces
Variants

free_aligned_sized

From cppreference.net
Определено в заголовочном файле <stdlib.h>
void free_aligned_sized ( void * ptr, size_t alignment, size_t size ) ;
(начиная с C23)

Если ptr является нулевым указателем или результатом вызова aligned_alloc , где alignment равно запрошенному выравниванию выделения памяти, а size равно запрошенному размеру выделения, данная функция эквивалентна free ( ptr ) . В противном случае поведение не определено.

Результат вызова malloc , calloc или realloc не может быть передан в free_aligned_sized .

free_aligned_sized является потокобезопасной: она ведет себя так, как если бы обращалась только к ячейкам памяти, доступным через ее аргумент, и не затрагивала никакое статическое хранилище.

Вызов free_aligned_sized , который освобождает область памяти, синхронизируется-с вызовом любой последующей функции выделения памяти, которая выделяет ту же самую или часть той же области памяти. Эта синхронизация происходит после любого доступа к памяти со стороны освобождающей функции и до любого доступа к памяти со стороны функции выделения. Существует единый полный порядок всех функций выделения и освобождения памяти, работающих с каждой конкретной областью памяти.

Содержание

Параметры

ptr - указатель на память для освобождения
alignment - выравнивание освобождаемой памяти
size - размер освобождаемой памяти

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

(нет)

Пример

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.24.3.5 Функция free_sized (стр: 366)

Смотрите также

выделяет выровненную память
(функция)
освобождает ранее выделенную память
(функция)
освобождает ранее выделенную память с указанием размера
(функция)
выделяет память
(функция)