以编程方式查找计算机上的核心数

若如初见. 提交于 2020-02-26 02:01:00

有没有办法以独立于平台的方式确定机器有多少来自C / C ++的内核? 如果不存在这样的事情,那么每个平台确定它(Windows / * nix / Mac)呢?


#1楼

OS X替代方案:根据文档,前面描述的基于[[NSProcessInfo processInfo] processorCount]的解决方案仅适用于OS X 10.5.0。 对于早期版本的OS X,请使用Carbon函数MPProcessors()。

如果你是一个可可程序员,不要因为这是碳而被吓坏了。 您只需要将Carbon框架添加到Xcode项目中,并且MPProcessors()将可用。


#2楼

有关OS X的更多信息: sysconf(_SC_NPROCESSORS_ONLN)仅适用于版本> = 10.5,而不是10.4。

另一种方法是HW_AVAILCPU/sysctl() BSD代码,它在版本> = 10.2时可用。


#3楼

Windows Server 2003及更高版本允许您利用GetLogicalProcessorInformation函数

http://msdn.microsoft.com/en-us/library/ms683194.aspx


#4楼

在Linux上,您可以读取/ proc / cpuinfo文件并计算内核。


#5楼

您可能无法以独立于平台的方式获取它。 Windows获得多个处理器。

Win32系统信息

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!