- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
为什么系统调用 getpagesize()
返回 int
而不是 unsigned int
或 size_t
?
原型(prototype)和简短描述如下:
GETPAGESIZE(2)
NAME
getpagesize - get memory page size
SYNOPSIS
#include <unistd.h>
int getpagesize(void);
最佳答案
int
在发明时可能就足够了。但这不再是问题,因为自 2001 年以来,getpagesize()
已从 POSIX 标准中删除,并已被 sysconf()
取代。您应该使用 sysconf(_SC_PAGESIZE)
。
getpagesize()
returning an int was one of the major reasons why it was removed:
getpagesize
The getpagesize( ) function returns the current page size. It is equivalent to sysconf (_SC_PAGE_SIZE) and sysconf (_SC_PAGESIZE). This interface, returning an int, may have problems representing appropriate values in the future. Also the behaviour is not specified for this interface on systems that support variable size pages. On variable page size systems, a page can be extremely large (theoretically, up to the size of memory). This allows very efficient address translations for large segments of memory that have common page attributes. A note about this has been added to Application Usage, and the interface marked Legacy, with the recommendation that applications should use the sysconf() interface instead.
(强调我的)。
关于c - 为什么 getpagesize() 返回一个 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41890978/
在 getpagesize() 手册页中,写到“函数 getpagesize() 返回内存页中的字节数,其中“页”是固定长度的 block ,内存分配的单位”。 这是否意味着如果我们 malloc(1
我有一个文件 hello.txt和一个指向文件的指针 *i,我已经使用 c open(*i) 函数打开了该文件。我想使用 getpagesize(2) 获取文件的大小来读取文件的内容并将该内容进一步写
用下面的代码 #include int a = getpagesize(); int main() { return a; } 我收到以下编译错误 3:1: error: initializ
/* * NGX_MAX_ALLOC_FROM_POOL should be (ngx_pagesize - 1), i.e. 4095 on x86. * On Windows NT it de
为什么系统调用 getpagesize() 返回 int 而不是 unsigned int 或 size_t? 原型(prototype)和简短描述如下: GETPAGESIZE(2)
在一般情况下和跨平台支持方面,一个函数——getpagesize() 与 sysconf(_SC_PAGESIZE)——是否比另一个更可靠? 最佳答案 经过一些额外的搜索,我发现 getpagesiz
我目前正在将软件项目的一些操作系统相关功能从 Linux 移植到 FreeBSD。因此,如果在 FreeBSD 10.1 上定义了 _POSIX_C_SOURCE=200809L,我使用 getpag
我正在尝试使用 Tensorflow Object Detection API,我按照给定链接中提到的步骤操作 - https://tensorflow-object-detection-api-tu
我正在使用 brk、sbrk 和 getpagesize() 重新编码 malloc 函数 我必须遵循两条规则: 1)我必须将我的内存对齐到 2 的幂 这意味着:如果对 malloc 的调用是:mal
我是一名优秀的程序员,十分优秀!