侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 239 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

get_phys_pages函数用法详解

noerror
2022-11-09 / 0 评论 / 0 点赞 / 43 阅读 / 385 字 / 正在检测是否收录...

get_phys_pages函数用法详解

get_phys_pages函数简介

  • 头文件包含

  • 函数定义
#include <sys/sysinfo.h>
long get_phys_pages(void);
long get_avphys_pages(void);

get_phys_pages函数常见使用错误

  • 编译错误
    warning: implicit declaration of function ‘get_phys_pages’ [-Wimplicit-function-declaration]
    解决办法:包含头文件

get_phys_pages函数详细描述

函数get_phys_pages ()返回系统上可用内存的物理页面总数。
函数get_avphys_pages ()返回系统上当前可用的物理内存页数。

get_phys_pages函数返回值

如果成功,这些函数将返回一个非负值,如描述中所示。如果失败,则返回-1并设置errno来指示错误的原因。

get_phys_pages函数错误码

  • ENOSYS 系统无法提供所需的信息(可能是因为没有挂载/proc文件系统)。

get_phys_pages函数其他说明

这些函数通过扫描/proc/meminfo 的MemTotal和MemFree字段获得所需信息
以下sysconf (3)调用提供了一种可移植的方法来获取与本页描述的函数相同的信息。

total_pages = sysconf(_SC_PHYS_PAGES);    /* total pages */
avl_pages = sysconf(_SC_AVPHYS_PAGES);    /* available pages */

get_phys_pages函数使用举例

以下示例显示了如何使用get_phys_pages ()和get_avphys_pages ()。

#include <stdio.h>
#include <stdlib.h>
#include <sys/sysinfo.h>

int
main(int argc, char *argv[])
{
   printf("This system has %ld pages of physical memory and "
           "%ld pages of physical memory available.\en",
           get_phys_pages(), get_avphys_pages());
   exit(EXIT_SUCCESS);
}
0

评论区