getpagesize() - Unix,Linux系统调用
Tutorials Point


  Unix初学者指南
  Unix Shell编程
  高级Unix
  Unix有用参考
  Unix有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于TP  

getpagesize() - Unix,Linux系统调用


previous next AddThis Social Bookmark Button

广告

名称

getpagesize - 获取内存页大小

概要

#include <unistd.h>

int getpagesize(void);

描述

函数getpagesize() 返回一个页面的字节数,其中“页面”是指在mmap(2)的描述中提到的,文件以页面大小为单位映射的单元。

mmap() 使用的页面类型的大小,可以使用以下方法找到:

#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);

(某些系统也允许使用 _SC_PAGE_SIZE 作为 _SC_PAGESIZE 的同义词), 或

#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 中情况良好。

参见



previous next Printer Friendly

广告


  

广告



广告