c linux 获取cpuid_Linux下C编程 -- 得到系统的CPU信息(cpuid)
在 linux下可以通过查看 cat /proc/cpuinfo查看CPU的相关信息,但是在linux下C编程需要使用汇编语言来实现,因为C语言中没有实现查看CPU信息的函数,一般实现如下:(C中运行汇编用 __asm__等)#include#includestatic inline voidget_cpuid(unsigned int i, unsigned int * buf){unsigne
在 linux下可以通过查看 cat /proc/cpuinfo查看CPU的相关信息,但是在linux下C编程需要使用汇编语言来实现,因为C语言中没有实现查看CPU信息的函数,一般实现如下:
(C中运行汇编用 __asm__等)
#include#includestatic inline void
get_cpuid(unsigned int i, unsigned int * buf)
{
unsigned int eax,ebx,ecx,edx;
__asm__ (
"cpuid"
:"=a"(eax),"=b"(ebx),"=c"(ecx),"=d"(edx):"a"(i));
buf[0]=eax;
buf[1]=ebx;
buf[2]=edx;
buf[3]=ecx;
}
int main()
{
unsigned int cpu[4];
get_cpuid(0,cpu);
}
需要清楚的是get_cpuid(i,buf)中i等于不同值,代表不同的含义:
0: Get vendor ID
1: Processor Info and Feature Bits,
3: Processor Serial Number
80000000h: Get Highest Extended Function Supported
80000001h: Extended Processor Info and Feature Bits
80000002h,80000003h,80000004h: Processor Brand String
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)