получение элементов структуры в Cython - PullRequest
4 голосов
/ 24 января 2011

Удивительно, но я не могу найти ни одного примера получения элементов структуры по имени (как в Интернете, так и в примерах на Cython).

Итак, я получаю указатель на структуру из функции C и хотел бы получить доступ к этим элементам один за другим и упаковать их в список / dict python.

может быть:

structPointer['propertyName']

или

structPointer.propertyName  

Я хочу получить эффект structName->propertyName.

1 Ответ

6 голосов
/ 27 января 2011

Ваш второй синтаксис правильный, но вы должны иметь объявление 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
...