【发布时间】:2017-03-13 06:00:18
【问题描述】:
我在 some.py 文件中定义了一个类 SomeClass(ctypes.Structure) 并将其导入到 some.pyx 文件中,如下所示:
from ctypes import memset, addressof, sizeof
from some import SomeClass
someInstance = SomeClass()
memset(addressof(someInstance), 0, sizeof(SomeClass))
但无论 SomeClass 中有多少个字段,sizeof 函数总是返回 8。 我认为 sizeof 函数是 cython 中的内置函数,而不是 ctypes 的。如果我这样导入,SomeClass 的大小是正确的:
from ctypes import memset, addressof, sizeof as csizeof
memset(addressof(someInstance), 0, csizeof(SomeClass))
【问题讨论】:
-
看来你已经解决了问题,请问有什么问题?
-
我的问题是:为什么我声明'from ctypes import sizeof'没有用?它不应该使用 cython 中的默认 sizeof。