C++中有没有直接读出系统CPU、内存相关信息的函数

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:21:01
C++中有没有直接读出系统CPU、内存相关信息的函数?

Windows编程:
VC6:
通过Performance Monitoring API得到CPU使用率。

对于进程的内存使用率,您可以先通过EnumProcesses得到所有进程,再通过GetProcessMemoryInfo得到进程的内存使用信息。

Linux编程可以从/proc/文件中读取。

自己写一个啦。

在C++中内嵌汇编,使用CPUID指令获得CPU相关信息。
完全硬件级别的,直接从CPU内部读取信息。

struct Char4
{
char c1;
char c2;
char c3;
char c4;
};

void GetCPUType(char *info1)
{
Char4 cc1,cc2,cc3,cc4;
int s1=0,n1=0;
for (s1=0;s1<3;s1++)
{
n1=0x80000002+s1;

__asm{
mov eax,n1
cpuid
mov cc1,eax
mov cc2,ebx
mov cc3,ecx
mov cc4,edx
}
info1[0]=cc1.c1;info1[1]=cc1.c2;info1[2]=cc1.c3;info1[3]=cc1.c4;
info1[4]=cc2.c1;info1[5]=cc2.c2;info1[6]=cc2.c3;info1[7]=cc2.c4;
info1[8]=cc3.c1;info1[9]=cc3.c2;info1[10]=cc3.c3;info1[11]=cc3.c4;
info1[12]=cc4.c1;info1[13]=cc4.c2;info1[14]=cc4.c3;info1[15]=cc4.c4;
info1+=16;
}