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

廣告


  

廣告



廣告
© . All rights reserved.