2011-01-24 13 views
3

驚いたことに、構造体の要素を名前で取得することはできません(WebとCythonの両方の例で)。Cythonで構造体を取得する

私はC関数から構造体へのポインタを受け取りました。これらの要素に1つずつアクセスして、それらをPythonリスト/ dictに再パッケージしたいと思います。

多分:

structPointer['propertyName'] 

または

structPointer.propertyName 

私はstructName->propertyNameの効果を取得したいです。

答えて

5

あなたの2番目の構文が正しいものですが、構造体型のための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 
関連する問題