小编och*_*ati的帖子

如何将指向c数组的指针转换为python数组

我有一个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)

python ctypes

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

ctypes ×1

python ×1