Namespaces
Variants

free_aligned_sized

From cppreference.net
Definiert in Header <stdlib.h>
void free_aligned_sized ( void * ptr, size_t alignment, size_t size ) ;
(seit C23)

Wenn ptr ein Nullzeiger ist oder das Ergebnis eines Aufrufs von aligned_alloc , wobei alignment gleich der angeforderten Zuordnungsausrichtung und size gleich der angeforderten Zuordnungsgröße ist, ist diese Funktion äquivalent zu free ( ptr ) . Andernfalls ist das Verhalten undefiniert.

Das Ergebnis eines malloc -, calloc - oder realloc -Aufrufs darf nicht an free_aligned_sized übergeben werden.

free_aligned_sized ist threadsicher: Es verhält sich so, als würde es nur auf die Speicherbereiche zugreifen, die durch sein Argument sichtbar sind, und nicht auf statischen Speicher.

Ein Aufruf von free_aligned_sized , der einen Speicherbereich freigibt, synchronisiert mit einem Aufruf jeder nachfolgenden Allokationsfunktion, die denselben oder einen Teil desselben Speicherbereichs allokiert. Diese Synchronisation erfolgt nach jedem Zugriff auf den Speicher durch die freigebende Funktion und vor jedem Zugriff auf den Speicher durch die Allokationsfunktion. Es gibt eine einzige totale Ordnung aller Allokations- und Freigabefunktionen, die auf jeden bestimmten Speicherbereich wirken.

Inhaltsverzeichnis

Parameter

ptr - Zeiger auf den freizugebenden Speicher
alignment - Ausrichtung des freizugebenden Speichers
size - Größe des freizugebenden Speichers

Rückgabewert

(keine)

Beispiel

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.24.3.5 Die free_sized-Funktion (S: 366)

Siehe auch

allokiert ausgerichteten Speicher
(Funktion)
gibt zuvor allokierten Speicher frei
(Funktion)
gibt zuvor allokierten Speicher mit bekannter Größe frei
(Funktion)
allokiert Speicher
(Funktion)