厚德博学 敬业乐群
@sky
全部博文(252)
2015年(2)
2014年(1)
2013年(1)
2012年(16)
2011年(42)
2010年(67)
2009年(87)
2008年(36)
25742040
shijiulo
niuxlinu
ebayboy
hayand66
大鬼不动
acer1025
醉鬼的故
小雅贝贝
XINGCHEN
wzy_yzw
十的9次
zds05
bjywxc
zlhc1
smile124
cynthia
格伯纳
分类: LINUX
2009-09-15 14:47:44
#include <stdio.h> int main(void) { unsigned int eax = 0, edx = 0, ecx = 0; asm volatile ("cpuid" : "=a"(eax), "=d"(edx) : "a"(0x01) ); if (edx & (1 << 17)) { /* edx输出中间32位的序列号,ecx输出最低32位的序列号 */ asm volatile ("cpuid" : "=c"(ecx), "=d"(edx) : "a"(0x03) ); printf("Serial Number : %04x-%04x-%04x-%04x-%04x-%04x\n", eax >> 16, eax << 16, edx >> 16, edx << 16, ecx >> 16, ecx << 16); } else { printf("no support cpu serial number.\n"); } return 0; }
上一篇:get cpuid 序列号
下一篇:class forName 用法
登录 注册