Say У меня есть следующий typedef struct
в моем файле заголовка example.h
:Как использовать указатель ЬурейеЕ структуры в Cython Тип Extension
typedef struct A A;
Я Tring сделать 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