有没有办法以独立于平台的方式确定机器有多少来自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获得多个处理器。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3161627