用ctypes调整C中numpy数组的大小

2024-09-23 20:29:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用ctypes将numpyndarray传递给C函数:

lib = np.ctypeslib.load_library('library', 'path/to/library.so')
lib.function.argtypes = [ numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.float64, flags='C,A,W') ]
lib.function.restype = None

arr = numpy.zeros((10), dtype=numpy.float64)
lib.function(arr)

具有以下C功能:

void function(double *arr)
{
    arr = (double *) realloc(arr, 20 * sizeof(double));
}

但是,阵列仍保持原始大小。在使用numpy.ctypeslib.ndpointer时,有没有一种简单的方法允许numpy数组更改大小


Tags: 函数numpylibnplibraryloadfunctionctypes