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)
См. также
|
(C11) | выделяет выровненную память (функция) |
| освобождает ранее выделенную память (функция) |
|
|
(C23) | освобождает ранее выделенную память с указанным размером (функция) |
| выделяет память (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/memory/free_aligned_sized