基于CPU标志的唯一计算机id



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

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

谢谢。

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

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

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

1) 维基百科关于CPUID 的文章

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

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

经过一些测试,我可以确认信息类型1的第二个字节中的标志正在更改。因此,我将只使用Stepping ID、Model、Family和Processor Type值。

相关内容

  • 没有找到相关文章

最新更新