博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取cpu真实型号
阅读量:6800 次
发布时间:2019-06-26

本文共 1046 字,大约阅读时间需要 3 分钟。

感谢文洋兄的思路。亲测有效。

[root@storage GetCpuType]# ./main.o

Intel(R) Xeon(R) CPU C5528 @ 2.13GHz

 

#include <stdio.h>

#include <stdlib.h>

char x86_model_id[64];

static inline void

cpuid(unsigned int op, unsigned int *a, unsigned int *b, unsigned int *c,
unsigned int *d)
{
__asm__ __volatile__ (".byte 0x53\n\tcpuid\n\t"
"movl %%ebx, %%esi\n\t.byte 0x5b"
: "=a" (*a),
"=S" (*b),
"=c" (*c),
"=d" (*d)
: "a" (op));
}

static void get_model_name()

{
unsigned int *v;
char *p, *q;

v = (unsigned int *)x86_model_id;

cpuid(0x80000002, &v[0], &v[1], &v[2], &v[3]);
cpuid(0x80000003, &v[4], &v[5], &v[6], &v[7]);
cpuid(0x80000004, &v[8], &v[9], &v[10], &v[11]);
x86_model_id[48] = 0;

/*

* Intel chips right-justify this string for some dumb reason;
* undo that brain damage:
*/
p = q = &x86_model_id[0];
while (*p == ' ')
p++;
if (p != q) {
while (*p)
*q++ = *p++;
while (q <= &x86_model_id[48])
*q++ = '\0'; /* Zero-pad the rest */
}
}

int main()
{
get_model_name();

printf("%s \n", x86_model_id);

return 0;
}

转载于:https://www.cnblogs.com/10087622blog/p/7155408.html

你可能感兴趣的文章
计算机科学导论计算实例,经典计算计算模型计算机科学导论.ppt
查看>>
如何确定一个网站是用Wordpress开发的
查看>>
爬虫采集-基于webkit核心的客户端Ghost.py [爬虫实例]
查看>>
VDI序曲一 服务器虚拟化
查看>>
先考学历还是先提升能力?
查看>>
四、物理优化(7)查看索引使用情况
查看>>
[原创]如何从数据库层面检测两表内容的一致性
查看>>
(转)教你深度睡眠,熬夜的失眠的程序员看看
查看>>
RHEL6基础二十二之RHEL软件包管理①rpm
查看>>
学霸装学渣
查看>>
用python实现调用jar包
查看>>
OpenStack Keystone认证服务管理(五)
查看>>
pure-ftpd rpmbuild rpm file
查看>>
直连路由、主机路由以及选择顺序
查看>>
技术分享:手把手带你从WPF基础向企业应用进阶
查看>>
AgileEAS.NET平台开发案例-药店系统-需求分析
查看>>
Microsoft Dynamics CRM 2015 完全安装好以后 完全备份
查看>>
git 在windows下的应用(一) - 本地仓库代码管理
查看>>
符合通用准则(common criteria compliance)
查看>>
APP-V5.0的Sequencer过程
查看>>