如何在 gcc 中检测 CPU id

How to detect CPU id in gcc

我想编写一个 c 程序,可以检测 CPU 激活过程的 ID。 有些人建议我使用 UUID,但我喜欢尝试 CPU id。搜索后我发现 some good answer。但我正在使用 Windows 8 64 位和 Mingw。所以我恐怕不能使用它。

是的,两条信息,因为您希望获得指导而不是显示代码:)

  1. 使用CPUID x86指令http://x86.renejeschke.de/html/file_module_x86_id_45.html

  2. ... 用于 C 程序的 gnu 内联汇编语法 https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html

就是这样。创建一个小的内联 C 函数,其中有一个 asm {} 块,其中的单个指令将 CPUID.Be 知道如何从这些汇编块中 return 值,gcc 有一个特殊的语法。

有了这些信息,我想你可以解决你的问题。