有没有办法以独立于平台的方式确定机器有多少来自C/C++的内核?如果不存在这样的事情,那么每个平台确定它(Windows/*nix/Mac)呢?
是否有一个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 < 8; i++)
{
if (CPU_ISSET(i, &cs))
count++;
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
但是,使用公共库是不是更高级别?