获取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;
}