c - 如何使用 C 获取 Linux 中的 CPU 数量?

是否有 API 可以获取 Linux 中可用的 CPU 数量? 我的意思是,不使用/proc/cpuinfo 或任何其他 sys-node 文件...

我使用 sched.h 找到了这个实现:

int GetCPUCount()
{
 cpu_set_t cs;
 CPU_ZERO(&cs);
 sched_getaffinity(0, sizeof(cs), &cs);

 int count = 0;
 for (int i = 0; i < 64; i++)
 {
  if (CPU_ISSET(i, &cs))
   count++;
  else
   break;
 }
 return count;
}

但是,使用通用库没有更高层次的东西吗?

最佳答案

#include <unistd.h>
long number_of_processors = sysconf(_SC_NPROCESSORS_ONLN);

https://stackoverflow.com/questions/4586405/

相关文章:

python - 为什么 PyCharm 建议将方法更改为静态?

linux - 如何从/proc/pid/stat 获取应用程序的总 CPU 使用率?

c - 如何捕获 Control+D 信号?

python - 遍历一个numpy数组

python - 在 Mac 上安装 python 模块最兼容的方式是什么?

linux - 监听网络端口并将数据保存到文本文件

python - 使用 POST 从 Python 脚本发送文件

linux - 是否有将随机垃圾字节写入文件的命令?

python - 如何在 Anaconda (Conda) 环境中跟踪 pip 安装的软件包?

python - 检测人脸然后自动裁剪图片