Unix-system-calls-getpagesize

提供:Dev Guides
移動先:案内検索

[top]#

|http://www.google.com/[Google] | a|

Web This Site
  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

[cols=",,,,,,,",]

| |  Home   | |  References   | |  Discussion Forums   | |  About TP  

[width="100%",cols="100%",]

a| == getpagesize()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

getpagesize-メモリのページサイズを取得

概要

  • #include <unistd.h> *
*int getpagesize(void);*

説明

関数 getpagesize ()は、ページ内のバイト数を返します。ここで、「ページ」とは、 mmap (2)の説明でファイルがページサイズ単位でマップされることを示す箇所です。

*mmap* ()が使用するページの種類のサイズは、
#include <unistd.h> long sz = sysconf(_SC_PAGESIZE);

(一部のシステムでは、_SC_PAGESIZEの同義語_SC_PAGE_SIZEも使用できます)、または

#include <unistd.h> int sz = getpagesize();

歴史

この呼び出しは4.2BSDではじめて登場しました。

準拠

SVr4、4.4BSD、SUSv2。 SUSv2では、 getpagesize ()呼び出しにLEGACYというラベルが付けられ、POSIX.1-2001では削除されました。 HP-UXにはこの呼び出しはありません。

ノート

*getpagesize* ()がLinuxシステムコールとして存在するかどうかは、アーキテクチャによって異なります。 そうであれば、カーネルシンボルPAGE_SIZEを返します。これは、アーキテクチャとマシンモデルに依存しています。 一般的に、アーキテクチャごとに単一のバイナリ配布を行うために、アーキテクチャであるがマシンモデルに依存しないバイナリを使用します。 これは、ユーザープログラムがコンパイル時にPAGE_SIZEをヘッダーファイルから見つけるのではなく、少なくともこの依存関係が存在するアーキテクチャ(sun4など)で実際のシステムコールを使用することを意味します。 ここで、libc4、libc5、glibc 2.0は、 *getpagesize* ()が静的に派生した値を返し、システムコールを使用しないため、失敗します。 glibc 2.1では問題ありません。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

|  

[cols="^",]

|Advertisements