Seth Woolley's Man Viewer

posix_memalign(3) - memalign, posix_memalign, valloc, memalign, posix_memalign, valloc - Allocation de mémoire alignée - man 3 posix_memalign

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

POSIX_MEMALIGN(3)         Manuel du programmeur Linux        POSIX_MEMALIGN(3)



NOM
       posix_memalign, memalign, valloc - Allocation de mmoire aligne.

SYNOPSIS
       #include <stdlib.h>

       int posix_memalign(void **memptr, size_t alignment, size_t size);
       void *memalign(size_t boundary, size_t size);
       void *valloc(size_t size);

DESCRIPTION
       La  fonction  posix_memalign() alloue size octets et place l'adresse de
       la mmoire alloue dans *memptr.  L'adresse de la  mmoire  alloue
       est un multiple de alignment, qui doit lui mme tre une puissance de
       deux et un multiple de sizeof(void *).

       La fonction obsolte memalign() alloue size octets et renvoie un poin-
       teur vers la mmoire alloue.  L'adresse mmoire est alors un multi-
       ple de boundary, qui doit tre une puissance de deux.

       La fonction obsolte valloc() alloue size octets et renvoie  un  poin-
       teur vers la mmoire alloue.  L'adresse mmoire est alors un multi-
       ple de la taille de page.  Cette fonction  est  quivalente     mema-
       lign(sysconf(_SC_PAGESIZE),size).

       Pour ces trois routines, la mmoire n'est pas initialise   zro.


VALEUR RENVOYE
       memalign()  et valloc() renvoient un pointeur sur la mmoire alloue,
       ou bien NULL si la requte choue.

       posix_memalign() renvoie zro en cas de succs, ou l'une des  valeurs
       d'erreurs  rpertories  dans  la  section  suivante en cas d'chec.
       Notez que errno n'est pas affecte par cette fonction.


ERREURS
       EINVAL Le paramtre alignment n'est pas  une  puissance  de  deux,  ou
              n'est pas un multiple de sizeof(void *).

       ENOMEM Mmoire insuffisante pour raliser la demande d'allocation.


NOTES
       posix_memalign()  vrifie  que  alignment  rpond  bien aux exigences
       dtailles  ci  dessus.   memalign()  est  susceptible  de   ne   pas
       contrler que le paramtre boundary est correct.

       La  norme  POSIX  impose  que  la  mmoire  obtenue  par  un  appel 
       posix_memalign() puisse tre libre en utilisant free().   Certains
       systmes  ne  fournissent  aucun  moyen  afin  de librer la mmoire
       alloue par memalign() ou valloc()  (parce  que  l'on  peut  seulement
       passer  comme  paramtre     free()  un pointeur obtenu via malloc(),
       Alors que e.g.  memalign() pourrait appeler malloc() et aligner par  la
       suite  la  valeur obtenue).  La libc GNU permet de librer la mmoire
       obtenue par n'importe laquelle de ces  trois  fonctions  par  appel  
       free().

       La  version(1,3,5) libc GNU de malloc() renvoie toujours des adresses mmoire
       alignes sur 8-octets, ainsi ces routines ne sont  ncessaires  qu'en
       cas de besoin de valeurs d'alignement plus grandes.


HISTORIQUE
       Les  fonctions  memalign() et valloc() sont disponibles dans toutes les
       bibliothques  libc  de  Linux.   La  fonction  posix_memalign()   est
       disponible depuis la glibc 2.1.91.


CONFORMIT
       La  fonction  valloc()  est  apparue  dans BSD 3.0. Elle est qualifie
       d'obsolte dans BSD 4.3, et de lgende dans SUSv2.  Elle  n'apparat
       plus  dans  SUSv3.  La fonction memalign() est apparue dans SunOS 4.1.3
       mais pas dans BSD 4.4.  La fonction posix_memalign() provient de  POSIX
       1003.1d.

VOIR AUSSI
       malloc(3), free(3), getpagesize(2), brk(2)

TRADUCTION
       Stphan Rafin, 2002.



LDP                             21 juillet 2003              POSIX_MEMALIGN(3)

References for this manual (incoming links)