如何在Cython中访问作为C结构列表的结构,而不是字典。看来,每当我在python列表中传递一个C结构并从列表中检索它时,它就被包装为一个dict。甚至在我的cython代码中。我怎样才能直接访问c结构。 以下示例会产生错误。如果它不能解决我的问题。
optimization_functions.pyx
ctypedef struct sGrail:
int age
char* text
ctypedef sGrail Grail
def cythontest(char* a):
cdef sGrail grail
grail.age = 5
grail.text = a
return [grail]
def print_grail(grailarray):
print type(grailarray[0])
grail = grailarray[0]
print grail.age
grail.age = 99
print grailarray[0]
print "age here should be 99 not 5"
start.py
import optimization_functions
grailarray = optimization_functions.cythontest('test')
print grailarray
optimization_functions.print_grail(grailarray)