该代码正在尝试检索哪些CPU信息。此代码是较大软件包的一部分。我不是Python程序员,我想将此代码转换为C#。

from ctypes import c_uint, create_string_buffer, CFUNCTYPE, addressof
CPUID = create_string_buffer("\x53\x31\xc0\x40\x0f\xa2\x5b\xc3")
cpuinfo = CFUNCTYPE(c_uint)(addressof(CPUID))
print cpuinfo()

如果您是Python程序员,并且知道这段代码在做什么,那对我来说将是一个很大的帮助。

最佳答案

它执行以下机器代码:

push bx
xor ax, ax
inc ax
cpuid
pop bx
retn

基本上,它调用CPU的CPUID指令以获取有关CPU的信息。由于EAX = 1,它将获取处理器信息和功能位。然后将结果32位整数显示在屏幕上,请参阅Wikipedia文章或this page对结果进行解码。

编辑:因为这就是您要寻找的,所以here's an excellent article about在.NET/C#环境中调用CPUID(与P/Invoke一起使用)

关于c# - 这行在Python中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/986087/

10-11 20:24