在Cython中获取结构体元素

5

令人惊讶的是,我似乎找不到一个单独通过名称获取结构体元素的例子(无论是在网上还是在Cython示例中)。

所以我从C函数中接收到一个指向结构体的指针,并希望逐个访问这些元素并将它们重新打包成Python列表/字典。

也许可以这样实现:

structPointer['propertyName']

或者

structPointer.propertyName  

我想要获取structName->propertyName的效果。
1个回答

7
你的第二个语法是正确的,但你必须为结构体类型添加一个extern声明:
cdef extern from "someheader.h":
   struct properties_t:
      int value1
      int value2
   properties_t* getthem()

cdef void foo():
   cdef properties_t* prop
   prop = getthem()
   i = prop.value1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接