如何制作一个ctypes.Array?

时间:2018-06-08 21:05:29

标签: python numpy ctypes

我正在努力让ctypes.Array工作并继续获得TypeError: a float is required

import ctypes
import numpy as np

m = np.zeros((n_inst,n_inst), dtype=np.float64)
ctypes.Array(ctypes.c_double, len(m.data))(*m.data)

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

强烈推荐NumPy ctypes库。我假设你想要一个指针进入C库。以下将公开C函数myfunc(double* data)

mylib = np.ctypeslib.load_library("mylib", ".")

mylib.myfunc.argtypes = (np.ctypeslib.ndpointer(), )

然后可以将其称为:

mylib.myfunc(np.zeros((5, 5)))