#include
std::arraycpuid; __cpuid(cpuid.data(), 1); char cpuid_buf[17]; sprintf_s(cpuid_buf, "%08X%08X", cpuid[3], cpuid[0]); std::cout << cpuid_buf << std::endl;
经测试__cpuid(cpuid.data(), 1); 和__cpuidex(cpuid.data(), 1, 1);是等效的。
在x64下是不支持内联汇编的,所以使用intrin.h则可以通用。缺点是低版本VS里是没有的。
cpuid更详细的信息可以参考msdn的文档:__cpuid、__cpuidex | Microsoft Docshttps://docs.microsoft.com/zh-cn/cpp/intrinsics/cpuid-cpuidex?view=msvc-170



