我有一个C++回调函数,使用ctypes调用Python.此函数的参数是指向double数组和元素数的指针.
有很多元素,大约2,000,000.我需要将它发送到scipy函数中.
C++原型是:
bool (*ptsetDataSource)(double*, long long);
Run Code Online (Sandbox Code Playgroud)
这是以下python代码:
CPF_setDataSource = CFUNCTYPE(c_bool, POINTER(c_double),c_longlong)
CPF_setSelection= CFUNCTYPE(c_bool,c_char_p, c_longlong,c_longlong)
CPF_ResetSequence = CFUNCTYPE(c_bool)
def setDataSource(Data, DataLength):
Datalist=[0.0]*100
for i in range(0,100):
Datalist[i]=Data[i]
print Datalist
return True
Run Code Online (Sandbox Code Playgroud)
问题是print datalist返回:
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, …Run Code Online (Sandbox Code Playgroud)