Namespaces
Variants

free_aligned_sized

From cppreference.net
Défini dans l'en-tête <stdlib.h>
void free_aligned_sized ( void * ptr, size_t alignment, size_t size ) ;
(depuis C23)

Si ptr est un pointeur nul ou le résultat obtenu d'un appel à aligned_alloc , où alignment est égal à l'alignement de l'allocation demandée et size est égal à la taille de l'allocation demandée, cette fonction est équivalente à free ( ptr ) . Sinon, le comportement est indéfini.

Le résultat d'un appel à malloc , calloc , ou realloc ne peut pas être passé à free_aligned_sized .

free_aligned_sized est thread-safe : il se comporte comme s'il n'accédait qu'aux emplacements mémoire visibles via son argument, et non à un stockage statique.

Un appel à free_aligned_sized qui désalloue une région de mémoire se synchronise avec un appel à toute fonction d'allocation ultérieure qui alloue la même région ou une partie de la même région de mémoire. Cette synchronisation se produit après tout accès à la mémoire par la fonction de désallocation et avant tout accès à la mémoire par la fonction d'allocation. Il existe un ordre total unique pour toutes les fonctions d'allocation et de désallocation opérant sur chaque région de mémoire particulière.

Table des matières

Paramètres

ptr - pointeur vers la mémoire à désallouer
alignment - alignement de la mémoire à désallouer
size - taille de la mémoire à désallouer

Valeur de retour

(aucun)

Exemple

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.24.3.5 La fonction free_sized (p: 366)

Voir aussi

alloue de la mémoire alignée
(fonction)
désalloue la mémoire précédemment allouée
(fonction)
désalloue la mémoire dimensionnée précédemment allouée
(fonction)
alloue de la mémoire
(fonction)