Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

GETPAGESIZE

Section: Manuel du programmeur Linux (2)
Updated: 18 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
HISTORIQUE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

NOM

getpagesize - Obtenir la taille des pages mémoire du système.

SYNOPSIS

#include <unistd.h>
size_t getpagesize(void);

DESCRIPTION

La fonction getpagesize() renvoie le nombre d'octets dans une page. Une "page" est ce que l'on considère quand on dit dans la description de mmap(2) que les fichiers sont projetés en unités de la taille d'une page.
La taille d'une page du type de celle utilisée par mmap est obtenue en utilisant
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);

(certains systèmes autorisant le synonyme _SC_PAGE_SIZE pour _SC_PAGESIZE), ou
#include <unistd.h>
int sz = getpagesize();

HISTORIQUE

Cet appel est apparu en premier dans 4.2BSD.

CONFORMITÉ

SVr4, 4.4BSD, SUSv2. Dans SUSv2 l'appel getpagesize() est indiqué comme facultatif, et dans Posix 1003.1-2001 il a été abandonné. HPUX n'offre pas cet appel.

NOTES

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, qui 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 un seul fichier binaire de distribution 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 ou 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)

TRADUCTION

Christophe Blaess, 1996-2003.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.