0
说我有以下typedef struct
在我的头文件example.h
到typedef结构:如何使用指针用Cython扩展类型
typedef struct A A;
我特林让一个用Cython扩展类型的指针A
作为一个阶级变量在test.pyx
,然后我调用初始化功能f
上的参考A
:
cdef class Test:
cdef A* a
def __cinit__(self):
self.a = a
f(&a)
...
当我编译`test.pyx,我结束了以下编译错误:
Error compiling Cython file:
------------------------------------------------------------
...
cdef class Test:
cdef A* a
def __cinit__(self):
self.a = a
^
------------------------------------------------------------
test.pyx: undeclared name not builtin: a
Error compiling Cython file:
------------------------------------------------------------
...
cdef class Test:
cdef A* a
def __cinit__(self):
self.a = a
^
------------------------------------------------------------
test.pyx: Cannot convert Python object to 'A *'
显然,它不能识别对象a
,它是将其解释为一个python对象。我怎样才能解决这个问题?
如果这是你拥有的所有用Cython定义,我想你应该阅读用Cython文件和稍微研究一下这些例子。 –
谢谢先生乐于助人。 – Alex