2017-02-27 6 views
1

私はPythonインターフェイスを実装しようとしています。私はc-structureの定義に問題があります。どのようにメイン構造体の内部構造体(LinV)を生成するには?python:c-structとwintypes

マヌエルから定義:あなただけの配列を指定するために掛ける

class LinV(Structure): 
    _fields_ = [('NeasValue', c_double), 
       ('RefValue', c_double)] 


class Data(Structure): 
    _fields_ = [('MaxExcitation', c_float), 
       ('LinV', ???????)] 

Thxを マルクス

答えて

0

typedef struct 
{ 
float MaxExcitation; 

struct LinVal 
    { 
    double MeasValue; 
    double RefValue; 
    } LinV[SEN_LIN_DATA_MAX]; 
} Data; 

Pythonコード

from ctypes import * 

SEN_LIN_DATA_MAX = 3 

class LinV(Structure): 
    _fields_ = [('NeasValue', c_double), 
       ('RefValue', c_double)] 


class Data(Structure): 
    _fields_ = [('MaxExcitation', c_float), 
       ('LinV', LinV * SEN_LIN_DATA_MAX)] 

d = Data(2.0, 
    (LinV(1.2, 3.2), 
    LinV(2.2, 2.2), 
    LinV(3.2, 1.2), 
)) 
関連する問題