getpagesize(2) - wariua/manpages-ko GitHub Wiki
getpagesize - ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ํฌ๊ธฐ ์ป๊ธฐ
#include <unistd.h>
int getpagesize(void);
glibc ๊ธฐ๋ฅ ํ์ธ ๋งคํฌ๋ก ์๊ฑด (feature_test_macros(7) ์ฐธ๊ณ ):
-
getpagesize()
: -
- glibc 2.19๋ถํฐ:
_DEFAULT_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
- glibc 2.12๋ถํฐ 2.19๊น์ง:
_BSD_SOURCE || ! (_POSIX_C_SOURCE >= 200112L)
- glibc 2.12 ์ :
_BSD_SOURCE || _XOPEN_SOURCE >= 500
getpagesize()
ํจ์๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์ ๋ฐ์ดํธ ์๋ฅผ ๋ฐํํ๋ค. ์ฌ๊ธฐ์ "ํ์ด์ง"๋ ๊ณ ์ ๊ธธ์ด์ ๋ธ๋ก์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ mmap(2)์ด ์ํํ๋ ํ์ผ ๋งคํ์ ๋จ์์ด๋ค.
SVr4, 4.4BSD, SUSv2. SUSv2์์ getpagesize()
ํธ์ถ์ด LEGACY๋ก ํ์๋์์ผ๋ฉฐ, POSIX.1-2001์์ ๋น ์ก๋ค. HP-UX์๋ ์ด ํธ์ถ์ด ์๋ค.
์ด์ ๊ฐ๋ฅํ ์์ฉ์์๋ getpagesize()
๋์ sysconf(_SC_PAGESIZE)
๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
(๋๋ถ๋ถ์ ์์คํ
์์ _SC_PAGESIZE
์ ๊ฐ์ ์๋ฏธ๋ก _SC_PAGE_SIZE
๋ฅผ ํ์ฉํ๋ค.)
getpagesize()
๊ฐ ๋ฆฌ๋
์ค ์์คํ
ํธ์ถ๋ก ์กด์ฌํ๋์ง ์ฌ๋ถ๋ ์ํคํ
์ฒ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ปค๋ ์ฌ๋ณผ PAGE_SIZE
๋ฅผ ๋ฐํํ๋๋ฐ, ์ด ๊ฐ์ ์ํคํ
์ฒ์ ๋จธ์ ๋ชจ๋ธ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ํคํ
์ฒ๋ณ๋ก ํ ๊ฐ์ง ๋ฐ์ด๋๋ฆฌ ๋ฐฐํฌ๋ณธ๋ง ๋๊ธฐ ์ํด ๋จธ์ ๋ชจ๋ธ์ด ์๋๋ผ ์ํคํ
์ฒ์ ๋ฐ๋ผ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค๋ฅด๊ฒ ์ฌ์ฉํ๋ค. ์ด๊ฒ ๋ปํ๋ ๋ฐ๋ ์ ์ด๋ ๋จธ์ ๋ชจ๋ธ ์์กด์ฑ์ด ์กด์ฌํ๋ (sun4 ๊ฐ์) ์ํคํ
์ฒ์์๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์์ ์ปดํ์ผ ์์ ์ ํค๋ ํ์ผ์์ PAGE_SIZE
๋ฅผ ์ฐพ์ง ๋ง๊ณ ๋์ ์ค์ ์์คํ
ํธ์ถ์ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ์ด ์ ์์ glibc 2.0์๋ ๋ฌธ์ ๊ฐ ์๋๋ฐ, getpagesize()
์์ ์์คํ
ํธ์ถ์ ์ฌ์ฉํ์ง ์๊ณ ์ ์ ์ผ๋ก ์ป์ ๊ฐ์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ด๋ค. glibc 2.1์์๋ ๋ฌธ์ ๊ฐ ์๋ค.
2017-09-15