table of contents
GETPAGESIZE(2) | Manualul programatorului Linux | GETPAGESIZE(2) |
NUME¶
getpagesize - obține dimensiunea paginii de memorie
REZUMAT¶
#include <unistd.h>
int getpagesize(void);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc
(consultați feature_test_macros(7)):
getpagesize():
- Începând cu glibc 2.19:
-
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
-
De la glibc 2.12 până la 2.19: -
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
-
Înainte de glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500
DESCRIERE¶
Funcția getpagesize() returnează numărul de octeți dintr-o pagină de memorie, unde „page” este un bloc de lungime fixă, unitatea pentru alocarea memoriei și cartografierea fișierelor realizată de mmap(2).
ÎN CONFORMITATE CU¶
SVr4, 4.4BSD, SUSv2. În SUSv2, apelul getpagesize() este etichetat ca depreciat „LEGACY”, iar în POSIX.1-2001 a fost înlăturat; HP-UX nu are acest apel.
NOTE¶
Aplicațiile portabile ar trebui să utilizeze sysconf(_SC_PAGESIZE) în loc de getpagesize():
#include <unistd.h> long sz = sysconf(_SC_PAGESIZE);
(Majoritatea sistemelor permit sinonimul _SC_PAGE_SIZE pentru _SC_PAGESIZE).
Dacă getpagesize() este sau nu prezent ca apel de sistem Linux depinde de arhitectură. În caz afirmativ, acesta returnează simbolul PAGE_SIZE din nucleu, a cărui valoare depinde de arhitectură și de modelul de mașină. În general, se folosesc binari care depind de arhitectură, dar nu și de modelul de mașină, pentru a avea o singură distribuție binară pentru fiecare arhitectură. Aceasta înseamnă că un program de utilizator nu ar trebui să găsească PAGE_SIZE la compilare dintr-un fișier antet, ci să utilizeze un apel de sistem real, cel puțin pentru acele arhitecturi (cum ar fi sun4) în care există această dependență. În acest caz, glibc 2.0 nu reușește, deoarece getpagesize() returnează o valoare derivată static și nu utilizează un apel de sistem. Lucrurile sunt în regulă în glibc 2.1.
CONSULTAȚI ȘI¶
COLOFON -- NOTà FINALö
Această pagină face parte din versiunea 4.16 a proiectului Linux man-pages. O descriere a proiectului, informații despre raportarea erorilor și cea mai recentă versiune a acestei pagini pot fi găsite la https://www.kernel.org/doc/man-pages/.
TRADUCERE¶
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
15 septembrie 2017 | Linux |