首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sysconf 的四种返回状态

众所周知,sysconf 用来返回某种常量的定义或者资源的上限,前者用于应用动态的判断系统是否支持某种标准或能力、后者用于决定资源分配的尺寸。...但是你可能不知道的是,sysconf 可以返回四种状态: 常量定义本身或资源上限 (>=0, 整型值) 无限制 (no limit) 不支持 出错 那一个小小的 int 返回类型,如何能容纳这许多含义?...各位看过下面这段代码,就一目了然了: static void pr_sysconf (char *msg, int name) { long val; fputs (msg, stdout...); errno = 0; if ((val = sysconf (name)) < 0) { if (errno !...= 0: errno == EINVAL: 不支持 其它:出错 其实看下 sysconf 的手册页的话,确实是这么说的: RETURN VALUE If name is invalid, -

24920
您找到你想要的搜索结果了吗?
是的
没有找到

一个快速确定新系统上各类限制值的工具

) 与文件系统相关部分(通过 pathconf) 也就是说,要确定一个系统限制,一共分两步: 确定相应的符号常量有没有在头文件定义,如果有,直接拿来用; 如果没有,走 sysconf 或 pathconf...对于系统选项,稍等复杂一点,分三步: 符号常量定义为 -1,平台不支持该选项; 符号常量定义大于 0,平台支持相应的选项; 符号常量定义为 0,需要进一步依靠 sysconf 或 pathconf 来查询.../apue.h" 2 #include 3 #include 4 5 static void pr_sysconf (char*, int);...至于为何在 pr_sysconf / pr_pathconf 中清理 errno,可以参考我之前写过的一篇文章:[apue] sysconf 的四种返回状态 。...这里需要提供两个文件: sysconf.sym 与 pathconf.sym,分别对应不依赖文件系统的常量与依赖文件系统的常量,因为最后它们的调用方法不同,之前已经说明过了。

95510

CPU 绑定

操作系统对多核cpu的调度 目前windows和linux都支持对多核cpu进行调度管理。 软件开发在多核环境下的核心是多线程开发。...核上运行 查看cpu有几个核 使用cat /proc/cpuinfo查看cpu信息,如下两个信息: processor,指明第几个cpu处理器 cpu cores,指明每个处理器的核心数 也可以使用系统调用sysconf...获取cpu核心数: #include int sysconf(_SC_NPROCESSORS_CONF);/* 返回系统可以使用的核数,但是其值会包括系统中禁用的核的数目,因 此该值并不代表当前系统中可用的核数...*/ int sysconf(_SC_NPROCESSORS_ONLN);/* 返回值真正的代表了系统当前可用的核数 */ /* 以下两个函数与上述类似 */ #include <sys/sysinfo.h...int tid[THREAD_MAX_NUM]; int i; pthread_t thread[THREAD_MAX_NUM]; num = sysconf

1.3K20
领券