如何在Cython中访问已作为C结构列在列表中的结构

时间:2015-12-17 12:34:59

标签: cython

如何在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)

0 个答案:

没有答案