我需要使用唯一的计算机ID来进行软件许可。我决定使用CPU Flags。在MSVC上,使用函数__cpuid和gcc版本4.3及其函数__get_cpuid重新启动它们。我从这些函数中得到一个整数,它是一个位数组,目的是用作唯一ID。
我不确定使用上述功能检索的CPU标志是否会发生变化?这些标志可以由用户以编程方式更改吗?如果不是通过常规应用可能通过BIOS?
谢谢。
答案 0 :(得分: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
答案 1 :(得分:-1)
在一些测试之后,我可以确认Info Type 1的第二个字节的标志正在改变。所以我会坚持使用Stepping ID,Model,Family和Processor Type值。