我已经在一个C库中分配了一块双精度内存,并希望基于该数据创建一个numpy 1D数组;理想情况下,我希望有两个版本,一个只读包装c_ptr - 让C层保留数据的所有权,另一个则复制数据。因此,简化后的代码如下:
C代码
double * init_and_alloc( size_t size ) {
double * ptr = malloc( size * sizeof * ptr );
// initialize ptr
return ptr;
}
Python代码
size = 1000
c_ptr = ctypes_func_ptr_init_and_alloc( size )
numpy_array = numpy.xxxx( c_ptr , size , dtype.float64) <--- ?????
我标记为xxxx的函数是否存在?
最好的问候
Joakim Hove