Python: ctypes 和指向结构的指针

Python: ctypes and Pointer to Structure

我正在尝试创建一个结构指针,然后取消引用它。但它崩溃了。我用这个简单的代码模仿了这里的行为。

from ctypes import *
import ctypes

class File(Structure):
 _fields_ = [("fileSize", c_uint),
            ("fileName", c_byte * 32)]

f = File()
f.fileSize = 2
print(f.fileSize)
P = ctypes.POINTER(File)
p = P.from_address(addressof(f))
print(p.contents.fileSize)

有人能指出这段代码有什么问题吗?

提前致谢。

这有效(我刚试过):

p = pointer(f)

根本不需要实例化P。 更清楚地说,鉴于 p 和 P 在屏幕上看起来非常相似:

from ctypes import *

class File(Structure):
 _fields_ = [("fileSize", c_uint),
            ("fileName", c_byte * 32)]

f = File()
f.fileSize = 2
print(f.fileSize)
p = pointer(f)
print(p.contents.fileSize)