free_aligned_sized
| Definiert im Header <stdlib.h> |
||
| (seit C23) | ||
Wenn ptr ein Nullzeiger ist oder das Ergebnis eines Aufrufs von aligned_alloc, wobei alignment gleich der angeforderten Ausrichtungsallokation und size gleich der angeforderten Allokationsgröße ist, ist diese Funktion äquivalent zu free(ptr). Andernfalls ist das Verhalten undefiniert.
Das Ergebnis eines Aufrufs von malloc, calloc oder realloc darf nicht an free_aligned_sized übergeben werden.
free_aligned_sized ist threadsicher: Es verhält sich so, als ob nur auf die durch sein Argument sichtbaren Speicherorte zugegriffen wird und nicht auf Speicher statischer Dauer.
Ein Aufruf von free_aligned_sized, der einen Speicherbereich freigibt, *synchronisiert sich mit* einem nachfolgenden Aufruf einer beliebigen Zuweisungsfunktion, die denselben oder einen Teil desselben Speicherbereichs zuweist. Diese Synchronisation erfolgt nach jedem Zugriff auf den Speicher durch die freigebende Funktion und vor jedem Zugriff auf den Speicher durch die Zuweisungsfunktion. Es gibt eine einzige Gesamtordnung aller Zuweisungs- und Freigabefunktionen, die auf einen bestimmten Speicherbereich wirken.
Inhalt |
[bearbeiten] Parameter
| ptr | - | Zeiger auf den freizugebenden Speicher |
| alignment | - | Ausrichtung des freizugebenden Speichers |
| size | - | Größe des freizugebenden Speichers |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.24.3.5 Die Funktion free_sized (p: 366)
[bearbeiten] Siehe auch
| (C11) |
alloziert ausgerichteten Speicher (Funktion) |
| dealloziert zuvor allozierten Speicher (Funktion) | |
| (C23) |
dealloziert zuvor allozierten Speicher mit Größe (Funktion) |
| alloziert Speicher (Funktion) |