NOM¶
getpagesize - Obtenir la taille des pages mémoire du système
SYNOPSIS¶
#include <unistd.h>
int getpagesize(void);
Exigences de macros de test de fonctionnalités pour la glibc (consultez
feature_test_macros(7)) :
getpagesize() :
- Depuis la glibc 2.12 :
-
_BSD_SOURCE ||
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
-
Avant la glibc 2.12 : _BSD_SOURCE || _XOPEN_SOURCE >= 500
||
-
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
DESCRIPTION¶
La fonction
getpagesize() renvoie le nombre d'octets dans une page. Une
« page » est un bloc de taille fixe, et est l'unité
pour l'allocation de la mémoire et la projection de fichiers
réalisées par
mmap(2).
SVr4, BSD 4.4, SUSv2. Dans SUSv2 l'appel
getpagesize() est
indiqué comme historique, et dans POSIX.1-2001 il a été
abandonné ; HP-UX n'offre pas cet appel.
NOTES¶
Les applications portables doivent utiliser
sysconf(_SC_PAGESIZE)
plutôt que
getpagesize() :
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
La plupart des systèmes autorisant le synonyme
_SC_PAGE_SIZE pour
_SC_PAGESIZE.
Que la routine
getpagesize() sous Linux invoque un appel système ou
non dépend de l'architecture. Si c'est le cas, elle renvoie la valeur du
symbole
PAGE_SIZE du noyau, dont la valeur dépend de
l'architecture et du modèle de machine. Généralement, on
utilise des exécutables binaires qui dépendent de l'architecture
mais pas du modèle de machine afin d'avoir une seule distribution binaire
par architecture. Ceci signifie qu'un programme utilisateur ne doit pas
rechercher la valeur de
PAGE_SIZE dans les fichiers
d'en‐tête lors de la compilation, mais invoquer véritablement
un appel système, au moins pour les architectures où cette
dépendance existe (comme sun4). En ce sens, libc4, libc5 et glibc 2.0
font erreur car leur version de
getpagesize() renvoie une valeur
calculée statiquement, et n'invoque pas d'appel système. Tout est
arrangé depuis la glibc 2.1.
VOIR AUSSI¶
mmap(2),
sysconf(3)
COLOPHON¶
Cette page fait partie de la publication 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et
l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande «
man -L C
<section> <page_de_man> ».