2013-02-19 104 views
2

我需要使用唯一的计算机ID来进行软件许可。我决定使用CPU标志。在MSVC上,它们被函数__cpuid和gcc版本4.3以及函数__get_cpuid检索。我从这些函数中得到一个整数,这是一个有点用作唯一ID的位数组。基于CPU标记的唯一计算机ID

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

谢谢。

回答

-1

确定经过一些测试后,我可以确认信息类型1的第二个字节的标志正在改变。所以我只会坚持步进ID,型号,系列和处理器类型值。

+0

你做什么测试,看看该信息被改变?看到我的答案 - 我不认为调用处理器操作码“cpuid”的结果可能会改变。 – 2013-04-20 21:24:50

+0

感谢您的意见,我现在正在处理另一个项目,但我会尽快回复此问题,以便给您适当的回复。 – 2013-04-22 08:31:45

0

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

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

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

1)Wikipedia's article on CPUID

2)Code guru article (2 pages) on accessing processor info using a call to CPUID

3)Table listing many processors by stepping, family, and model numbers