我使用了this code来获得它.
它输出的信息如下:
For InfoType 0cpuInfo[0] = 0x5cpuInfo[1] = 0x756e6547cpuInfo[2] = 0x6c65746ecpuInfo[3] = 0x49656e69For InfoType 1cpuInfo[0] = 0xf31cpuInfo[1] = 0x20800cpuInfo[2] = 0x41dcpuInfo[3] = 0xbfebfbffFor InfoType 2cpuInfo[0] = 0x605b5001cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x7c7040For InfoType 3cpuInfo[0] = 0x0cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 4cpuInfo[0] = 0x0cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 5cpuInfo[0] = 0x40cpuInfo[1] = 0x40cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 80000000cpuInfo[0] = 0x80000008cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 80000001cpuInfo[0] = 0x0cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 80000002cpuInfo[0] = 0x20202020cpuInfo[1] = 0x20202020cpuInfo[2] = 0x20202020cpuInfo[3] = 0x20202020For InfoType 80000003cpuInfo[0] = 0x47202020cpuInfo[1] = 0x69756e65cpuInfo[2] = 0x4920656ecpuInfo[3] = 0x6c65746eFor InfoType 80000004cpuInfo[0] = 0x20295228cpuInfo[1] = 0x20555043cpuInfo[2] = 0x30382e32cpuInfo[3] = 0x7a4847For InfoType 80000005cpuInfo[0] = 0x0cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 80000006cpuInfo[0] = 0x0cpuInfo[1] = 0x0cpuInfo[2] = 0x4008040cpuInfo[3] = 0x0For InfoType 80000007cpuInfo[0] = 0x0cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0For InfoType 80000008cpuInfo[0] = 0x2028cpuInfo[1] = 0x0cpuInfo[2] = 0x0cpuInfo[3] = 0x0
我无法理解那些是我计算机唯一cpu ID的信息.
任何人都可以帮助我.
解决方法 你的意思是“序列号”,“谁制作了处理器”,或“识别处理器的品牌和型号的字符串”.序列号:
除非您有Pentium III,否则您没有与cpu关联的“唯一ID”.
英特尔在P3中引入了唯一的ID(序列号)指令.但在对隐私产生巨大骚动之后,他们在随后的cpu版本中迅速禁用了该功能.
对于记录,在程序集中执行此功能的指令:
mov eax,3cpuID
处理器序列号是eax,edx和ecx的串联
通过传递“3”作为第二个参数,您可以使用__cpuID函数实现相同的功能.但除非您有P3,否则它将无法工作或返回序列号.
供应商(制造处理器)
int regs[4] = {0};char vendor[13];__cpuID(regs,0); // mov eax,0; cpuIDmemcpy(vendor,®s[1],4); // copy EBXmemcpy(vendor+4,®s[3],4); // copy EDXmemcpy(vendor+8,®s[2],4); // copy ECXvendor[12] = '';print("My cpu is a %s\n",vendor);
在您的情况下,这应该打印“GenuineIntel”.
制作和模型(BRAND字符串)
如果您需要cpuID指令的所有详细信息,包括如何获取cpu的品牌,型号和步进,以及“品牌字符串”,例如“Intel(R)Core(TM)i7-3770 cpu” @ 3.4GHZ ….“您可以通过以下链接参考英特尔手册.向下滚动文档以查找cpuID的文档.我懒得为你输入它.
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf
MSVC编译器提供的__cpuID()指令在调用cpuID指令之前将“InfoType”映射到EAX.在该指令返回后,EAX,EBX,ECX和EDX被复制到您传递给此函数的cpuInfo [4]数组中.
总结以上是内存溢出为你收集整理的使用C – 窗口的CPU ID全部内容,希望文章能够帮你解决使用C – 窗口的CPU ID所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)