获取CPUID信息

时间:2025-03-24 10:46:16

获取CPUID信息:

需要在VC下编译

#include <> 
#include <> 
#include <> 
typedef unsigned int UINT; 
typedef char BYTE; 

void GetCpuID() { 
    // 定义一些变量,用于存储 CPU 的 ID信息 
    BYTE szCpu[16] = { 0 }; 
    UINT uCpuID = 0U; 
    // 以写追加的方式打开用来保存结果的文件 
    FILE *pf = fopen("./cpu_id_info.txt", "a+");
     // 对文件指针的有效性进行判断 
    assert(NULL != pf); 
    if (NULL == pf) return;
     // 调用汇编代码,获取 CPU ID 信息 
     __asm{ 
        mov eax, 0 
        cpuid 
        mov dword ptr szCpu[0], ebx 
        mov dword ptr szCpu[4], edx 
        mov dword ptr szCpu[8], ecx 
        mov eax, 1 
        cpuid 
        mov uCpuID, edx 
    } 
    // 把结果输出到文件中 
    fprintf(pf, "cpu id is %u, info is %s", uCpuID, szCpu); // 关闭文件指针在内存中的映射                
    fclose(pf); 
} 

int main() 
{ 
    GetCpuID(); 
    return 0; 
}