Я выделил кусок double в библиотеке C, и я хотел бы создать массивный одномерный массив на основе этих данных;в идеале я хотел бы иметь две версии: одну, которая только оборачивает 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?
С наилучшими пожеланиями
Йоаким Хоув