阅读本文,特别是阅读Microsoft文档,它看起来应该返回PHYSICAL处理器的数量,并且您应该使用GetLogicalProcessorInformation来确定您拥有多少LOGICAL处理器.
这是我在SYSTEM_INFO结构上找到的文档:http://msdn.microsoft.com/en-us/library/ms724958 (v = VS.85).aspx这里是关于GetLogicalProcessorInformation的文档:(通过垃圾邮件添加的空格)过滤器) http:// msdn.microsoft.com/ zh-cn/library/ms683194.aspx
尽管如此,在我发现的关于这个主题的大多数讨论中,开发人员都说GetSystemInfo(以及SYSTEM_INFO结构)报告了LOGICAL处理器的数量.
当我再次搜索时,我发现MS确实在此发布了一些信息(以及一个热修复),这里(通过垃圾邮件过滤器添加了空格): http:// support.microsoft.com/ kb/936235
读取它,听起来像在Xp上,预服务包3,GetSystemInfo报告SYSTEM_INFO结构中的LOGICAL处理器的数量.它还告诉我,在Windows Vista和Windows 7上,GetSystemInfo应该报告PHYSICAL处理器的数量(与Windows XP pre-service Pack 3不同).
有谁知道它实际上做了什么?GetSystemInfo是否真的以不同的方式报告物理处理器的数量(在同一台计算机上),具体取决于它运行的操作系统?