X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman2%2Fgetpagesize.2;h=29e2d154704fa0f0cadecefb5064d723de99112f;hb=e869ba38629d24502b2599fad331e46760c356de;hp=8d818bbf5608cb386fcba54ac251b6e305eb7631;hpb=ce024239a1d8e74a7a44f7c24cee4375cb13b3ef;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man2/getpagesize.2 b/release/man2/getpagesize.2 index 8d818bbf..29e2d154 100644 --- a/release/man2/getpagesize.2 +++ b/release/man2/getpagesize.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,58 +20,62 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya .\" all rights reserved. .\" Translated 2002-04-14, HANATAKA Shinya .\" Updated 2003-07-03, Akihiro Motoki .\" Updated 2007-01-07, Akihiro MOTOKI, catch up to LDP v2.43 +.\" Updated 2012-04-30, Akihiro MOTOKI .\" -.\"WORD: page ページ -.\"WORD: legacy 過去の遺物 -.\" -.TH GETPAGESIZE 2 2010-09-20 "Linux" "Linux Programmer's Manual" +.TH GETPAGESIZE 2 2010\-11\-16 Linux "Linux Programmer's Manual" .SH 名前 -getpagesize \- メモリのページ・サイズを取得する +getpagesize \- メモリのページサイズを取得する .SH 書式 -.B #include +\fB#include \fP .sp -.B int getpagesize(void); +\fBint getpagesize(void);\fP .sp .in -4n -glibc 向けの機能検査マクロの要件 -.RB ( feature_test_macros (7) -参照): +glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): .in .sp -.BR getpagesize (): +\fBgetpagesize\fP(): .ad l .RS 4 .PD 0 -.TP 4 +.TP 4 glibc 2.12 以降: .nf _BSD_SOURCE || !(_POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600) +.TP 4 .fi -.TP 4 -glibc 2.12 より前: -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || -_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED +glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED .PD .RE .ad b .SH 説明 -.BR getpagesize () -関数はページの大きさをバイト数で返す。ここでの「ページ」は -.BR mmap (2) -の説明の中で使用されているもので、 -.BR mmap () -はこのページサイズの単位でファイルをマップする。 - -.BR mmap (2) -が使用するページサイズは以下のようにして知ることができる。 - +.\" .SH HISTORY +.\" This call first appeared in 4.2BSD. +\fBgetpagesize\fP() 関数はメモリページの大きさをバイト数で返す。 +ここでいう「ページ」は固定長のブロックであり、 +\fBmmap\fP(2) で実行されるメモリ割り当てとファイルマッピングの単位である。 +.SH 準拠 +SVr4, 4.4BSD, SUSv2. +SUSv2 では \fBgetpagesize\fP() システムコールは「過去の遺物 (LEGACY)」とされており、 +POSIX.1\-2001 からは外されている。 HP\-UX にはこのシステムコールは存在しない。 +.SH 注意 +移植性が必要なアプリケーションでは、 +\fBgetpagesize\fP() ではなく \fIsysconf(_SC_PAGESIZE)\fP を利用すべきである。 +.PP .in +4n .nf #include @@ -78,50 +83,19 @@ long sz = sysconf(_SC_PAGESIZE); .fi .in -(ほとんどのシステムでは -.B _SC_PAGESIZE -の同義語として -.B _SC_PAGE_SIZE -を使用することができる)、もしくは以下のようにする: +(ほとんどのシステムでは \fB_SC_PAGESIZE\fP の同義語として +\fB_SC_PAGE_SIZE\fP を使用することができる。) -.in +4n -.nf -#include -int sz = getpagesize(); -.fi -.in -.\" .SH 歴史 -.\" このシステムコールは 4.2BSD で初めて登場した。 -.SH 準拠 -SVr4, 4.4BSD, SUSv2. -SUSv2 では -.BR getpagesize () -システムコールは「過去の遺物 (LEGACY)」とされており、 -POSIX.1-2001 からは外されている。 -HP-UX にはこのシステムコールは存在しない。 -移植性が必要なアプリケーションでは、このシステムコールの代わりに -.I sysconf(_SC_PAGESIZE) -を利用すべきである。 -.SH 注意 -.BR getpagesize () -が Linux のシステムコールとして存在するかどうかは、そのアーキテクチャに -依存している。 -システムコールとして存在する場合には、カーネルシンボルの -.B PAGE_SIZE -を返す。 -.B PAGE_SIZE -の値は、アーキテクチャとマシンモデルに依存する。 -一般に、バイナリは、アーキテクチャごとに1つのバイナリ配布で済ませるために、 -アーキテクチャには依存しているがマシンモデルには依存していない。 -つまり、ユーザプログラムはコンパイル時にヘッダーファイルから -.B PAGE_SIZE -を見つけて使用すべきではない。 -少なくとも、マシンモデルについても依存性が存在する (sun4 のような) -アーキテクチャにおいては本物のシステムコールを使用する必要がある。 -尚、 libc4, libc5, glibc 2.0 では、 -.BR getpagesize () -がシステム・コールを使用せず、固定の値を返すために、この方法は -失敗する。glibc 2.1 では大丈夫である。 +\fBgetpagesize\fP() が Linux のシステムコールとして存在するかどうかは、そのアーキテクチャに 依存している。 +システムコールとして存在する場合には、カーネルシンボルの \fBPAGE_SIZE\fP を返す。 \fBPAGE_SIZE\fP +の値は、アーキテクチャとマシンモデルに依存する。 一般に、バイナリは、アーキテクチャごとに1つのバイナリ配布で済ませるために、 +アーキテクチャには依存しているがマシンモデルには依存していない。 つまり、ユーザプログラムはコンパイル時にヘッダーファイルから \fBPAGE_SIZE\fP +を見つけて使用すべきではない。 少なくとも、マシンモデルについても依存性が存在する (sun4 のような) +アーキテクチャにおいては本物のシステムコールを使用する必要がある。 尚、 libc4, libc5, glibc 2.0 では、 +\fBgetpagesize\fP() がシステムコールを使用せず、固定の値を返すために、この方法は 失敗する。glibc 2.1 では大丈夫である。 .SH 関連項目 -.BR mmap (2), -.BR sysconf (3) +\fBmmap\fP(2), \fBsysconf\fP(3) +.SH この文書について +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。