代码之家  ›  专栏  ›  技术社区  ›  StackedCrooked

为什么WinAPI的GetSystemInfo告诉我的四核机器有8个核?

  •  2
  • StackedCrooked  · 技术社区  · 14 年前

    SYSTEM_INFO sysinfo;
    GetSystemInfo( &sysinfo );
    std::cout << "CPU count: " << sysinfo.dwNumberOfProcessors << std::endl;
    

    这是运行在Windows上的iMac i7通过训练营。如果能发现苹果在制造上犯了错误,在我的机器上安装了8核而不是4核,那就太好了。

    2 回复  |  直到 14 年前
        1
  •  8
  •   user229044    14 年前

    如果你的机器是超线程的,它将有8个虚拟核心。

    检查Windows任务管理器的Performance选项卡,查看显示了多少cpu。

        2
  •  4
  •   Zuljin    14 年前

    这是由i7处理器中的超线程造成的。您可能需要使用GetLogicalProcessorInformation函数来获取有关逻辑核和物理核的正确信息。 http://msdn.microsoft.com/en-us/library/ms683194