And*_*anu 15 c parallel-processing posix
我正在编写一个小型C应用程序,它使用一些线程来处理数据.我希望能够知道某台机器上的处理器数量,而不使用system()和小脚本.
我能想到的唯一方法是解析/ proc/cpuinfo.任何其他有用的建议?
mga*_*lgs 10
正如其他人在评论中提到的,这个答案很有用:
numCPU = sysconf( _SC_NPROCESSORS_ONLN );
Run Code Online (Sandbox Code Playgroud)
留下可能会跳过评论的人们的解决方案......
小智 6
为什么不使用sys/sysinfo.h?
#include <sys/sysinfo.h>
#include <stdio.h>
void main () {
printf ("You have %d processors.\n", get_nprocs ());
}
Run Code Online (Sandbox Code Playgroud)
可以在手册页上找到更多信息
$ man 3 get_nprocs
Run Code Online (Sandbox Code Playgroud)