我正在快速将此代码http://msdn.microsoft.com/en-us/library/hskdteyh(v=vs.80).aspx实施到我的程序中,因为我需要获取一些 CPU 信息,但是当我得到到这部分代码:
__cpuid(CPUInfo, 0x80000000);
nExIds = CPUInfo[0];
下一个 for 循环开始永远滚动,所以我放置了一个断点并且命中计数不断增加,结果nExIDs设置为2147483656,这将使其余代码的执行时间即使不是几周(所以很明显一个错误)。它并没有说该功能已被弃用或其他任何东西,所以它不应该给我带来麻烦,对吧?如果它与 *__cpuid* 功能相关,我在Windows 7 Home Premium 64上运行它- VAIO 笔记本电脑上的位。我正在查询的 CPU 是Intel(R) Core(TM) i5 CPU M 460 @ 2.53GHz,有2 个内核(4 个逻辑)。也许我需要传递一个不同于0x80000000的值?但我如何确定多少?