BEZEICHNUNG¶
getpagesize - gibt die Größe einer Speicherseite zurück
ÜBERSICHT¶
#include <unistd.h>
int getpagesize(void);
Mit Glibc erforderliche Makros (siehe
feature_test_macros(7)):
getpagesize():
- Seit Glibc 2.12:
-
_BSD_SOURCE ||
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
-
Vor Glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
-
BESCHREIBUNG¶
Die Funktion
getpagesize() gibt die Anzahl der Byte in einer
Speicherseite zurück. »Seite« ist hier ein Block fester
Größe, dessen Größe
mmap(2) als Einheit für
die Speicherzuordnung und die Dateiabbildung (file mapping) verwendet.
SVr4, 4.4BSD, SUSv2. In SUSv2 wurde der Systemaufruf
getpagesize() als
VERALTET gekennzeichnet und fiel in POSIX.1-2001 weg; in HP-UX kommt er nicht
vor.
ANMERKUNGEN¶
Portable Programme sollten
sysconf(_SC_PAGESIZE) statt
getpagesize() verwenden:
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
(Die Mehrzahl der Systeme erlaubt die Verwendung des Synonyms
_SC_PAGE_SIZE für
_SC_PAGESIZE.)
Die Verfügbarkeit des Systemaufrufs
getpagesize() auf einem
Linux-System ist architekturabhängig. Ist er verfügbar, gibt er das
Kernel-Symbol
PAGE_SIZE zurück. Dessen Wert hängt ab von der
Architektur und dem Modell der Maschine. Generell werden Binärdateien
verwendet, die von der Architektur abhängen, aber nicht vom Modell, um
eine einzige binäre Distribution pro Architektur haben. Das bedeutet,
dass ein Benutzerprogramm
PAGE_SIZE nicht bei der Kompilierung aus
einer Header-Datei bestimmen sollte, sondern den entsprechenden Systemaufruf
verwenden. Das gilt zumindest für jene Architekturen (wie sun4), für
die diese Abhängigkeit besteht. Hier scheitern Libc4, Libc5 und Glibc
2.0, weil ihre
getpagesize() einen statisch abgeleiteten Wert
zurück gibt und keine Systemaufrufe verwendet. Dies ist in Glibc 2.1 in
Ordnung.
SIEHE AUCH¶
mmap(2),
sysconf(3)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Regine Bast
<regine.bast@bigfoot.com> und Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.