问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C语言 编程实现获取cpu信息

发布网友 发布时间:2022-04-20 05:45

我来回答

1个回答

热心网友 时间:2023-09-08 15:12

耐心看看啊,运行通过啦,希望对你有帮助啊!
#include<stdio.h>
unsigned int veax;
unsigned int vebx;
unsigned int vedx;
unsigned int vecx;
//执行CPUID指令
void cpuid(unsigned int veax1)
{

_asm{

mov eax,veax1

cpuid

mov veax,eax

mov vebx,ebx

mov vecx,ecx

mov vedx,edx

}
}

//做移位操作,把寄存器中的ASCII码,以字符形式输出
void LeftMove(unsigned int var)
{
printf("%c",var);
for(int i=0;i<3;i++)
{
var=(var>>;
printf("%c",var);
}
}

//做移位操作,把寄存器中的值以“%d”形式输出
void LM(unsigned int var)
{
printf("%d",var);
for(int i=0;i<3;i++)
{
var=(var>>;
printf("%d",var);
}
}

//得到CPU的生产厂商(当EAX值为0时),依次存放在EBX,EDX,ECX中
void getCpuName()
{
cpuid(0);
LeftMove(vebx);
LeftMove(vedx);
LeftMove(vecx);
printf("\
";
}

//得到CPU的商标,当EAX中的值为0x80000003和0x80000004时分别返回16个字符,组成商标
//依次存放在EAX,EBX,ECX,EDX中
void getCpuBrand()
{
for(int j=0;j<2;j++)
{
cpuid(0x80000003+j);
LeftMove(veax);
LeftMove(vebx);
LeftMove(vecx);
LeftMove(vedx);
}
printf("\
";
}

//获得CPU的特性,参数是eax = 1,返回值放在edx和ecx,通过验证edx或者ecx的某一个bit,
//可以获得CPU的一个特性是否被支持。比如说,edx的bit 32代表是否支持MMX,
//edx的bit 28代表是否支持Hyper-Threading,ecx的bit 7代表是否支持speed sted。
void getCpuFeature()
{//由于特性太多,无法一一编写,需要的时候再写,方法是一样的。

}

//获得CPU序列号,获得序列号需要两个步骤,首先用eax = 1做参数,返回的eax中存储序列号的高两个WORD。
//用eax = 3做参数,返回ecx和edx按从低位到高位的顺序存储前4个WORD。
void getCpuSeris()
{
cpuid(1);
LM(veax);
cpuid(3);
LM(vecx);
LM(vedx);
printf("\
";
}
void main()
{
getCpuName();
getCpuBrand();
getCpuSeris();
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
我要买狗!!!高手来!!!人在天津 93年,骗子一人设局卖掉河北1座大桥,被捕后大笑:他们真去拆了 看了很多狗,不知道为什么我就是喜欢京巴,真的超可爱,找了很多地方都没... 植物大战僵尸魔幻版怎么安 怎么下载植物大战僵尸魔幻最新版 植物大战僵尸魔幻版中文版下载 植物大战僵尸魔幻版中文在哪下载 以闪亮之名体验服官方正版如何下载 以闪亮之名 以闪亮之名内测版什么时候上线? 两个三角形放在一起,重叠部分的面积占小三角形3分之一,占大三角形的... C语言怎么取CPU的各项信息? 迷你厨房小鸡蛋哪来的? 迷你方便面和超级袖珍的方便面哪个更受人喜爱? 迷你小厨房是什么时候发明的? 迷你厨房做的食品能吃吗? 小火锅的简单做法,小火锅怎么做最正宗 迷你小厨房怎么设计? 儿童迷你厨房玩具套装 过家家做饭真煮食玩农家院快... 迷你小厨房可以做饭要拼多长时间 怎么用喝完奶的箱子做一个迷你小厨房? 如何把迷你小厨房改造得更大更实用? 一元迷你小厨房哪里买 抖音迷你厨房怎么拍的 计算机C语言中的“C”代表什么意思? 迷你厨房怎么做? 迷你厨房成为网络爆款,为何它能成为时下最流行的... 如果手的肤色很黑,该挑选什么颜色的指甲油呢? 手比较黑,什么颜色指甲油能显白又干净的效果 女人的手比较黑,想做个美甲,应该选择什么颜色呢? 手黑适合什么颜色的手表? 如何通过命令行获取计算机CPU 详细信息? 怎样用C语言获取硬件信息 Linux c 语言怎么方便的读取 cpu,磁盘信息 用C语言怎么得到电脑的CPU序列号,硬盘序列号等信息 objective-c 怎么获取cpu信息 请教下:C语言获取计算机系统CPU使用率,内存使用... C语言(VC++6.0)获取cpu编码 如何用C语言获取硬盘或主板或CPU的序列号 如何用c语言程序获取计算机信息 C语言怎么获取硬件信息【网卡序号。。。】 在c语言中如何取得cpuid linux下用c语言实现查cpu类型和型号等信息 C语言读取计算机CPU的序列号、硬盘(网卡、机器名) 请问怎么用c语言获取电脑(windows)的cpu,内存,... C语言获取CPU tick 陌陌发送信息受限制,怎样解封? 陌陌发出去是黄箭头怎样解决 跪求电影《狼》,【在线观看】免费百度云资源 跪求狼的电影有哪些排名榜,【在线观看】免费百度... 【合集】有关于狼的电影,【免费高清】在线观看百...
  • 焦点

最新推荐

猜你喜欢

热门推荐