Spec-Zone.ru › C

free_aligned_sized

Определено в заголовочном файле <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)

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/memory/free_aligned_sized

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API