我正在从Python访问C++共享库。C++共享库管理信号分析器,并且没有源代码分发。在
其中一个函数需要将一个结构传递到函数调用中,我不确定是否使用ctypes正确地执行了该操作。在
头文件中结构的定义是:typedef struct saIQPacket {
float *iqData;
int iqCount;
int purge;
int dataRemaining;
int sampleLoss;
int sec;
int milli;
} saIQPacket;
最后我调用的函数是:
^{pr2}$
在python中,我创建了一个类,如下所示:class IQPacketData (ct.Structure):
_fields_ = [('iqData',ct.c_float*48611),
('iqCount',ct.c_int),
('purge', ct.c_int),
('dataRemaining', ct.c_int),
('sampleLoss', ct.c_int),
('sec', ct.c_int),
('milli', ct.c_int)]
然后我使用上述方法:self.iqPurge = ct.c_int(0)
self.iqDataRemaining = ct.c_int(0)
self.iqSampleLoss = ct.c_int(0)
<