2

我需要使用唯一的计算机 ID 来获得软件许可。我决定使用 CPU 标志。在 MSVC 上,它们使用函数 __cpuid 进行检索,而在 gcc 版本 4.3 及更高版本中使用函数 __get_cpuid。我从这些函数中得到一个整数,它是一种位数组,目的是用作唯一 ID。

我不确定使用上述函数检索到的 CPU 标志是否会改变?用户可以通过编程方式更改这些标志吗?如果不是通过常规应用程序可能通过 BIOS?

谢谢你。

4

2 回答 2

0

不,最终用户无法更改它们,因为您列出的每个命令本质上cpuid都是英特尔(和英特尔克隆)芯片中提供的实际处理器操作码的包装器。

因此,这些信息被“烧录”到硅片中。没有用户可以更改它。

以下资源可能会有所帮助:

1)维基百科的文章CPUID

2 ) 关于使用 CPUID 调用访问处理器信息的代码大师文章(2 页)

3)按步进、系列和型号列出许多处理器的表格

于 2013-04-20T21:23:36.187 回答
-1

好的,经过一些测试,我可以确认 Info Type 1 的第二个字节的标志正在改变。因此,我将仅使用 Stepping ID、Model、Family 和 Processor Type 值。

于 2013-02-21T23:59:10.343 回答