python调用dll怎样传入数组和返回数组? 请给出详细代码
1个回答
展开全部
#传入数组的例子
from ctypes import *
cdll.LoadLibrary("libc.so.6") # doctest: +LINUX
libc = CDLL("libc.so.6") #
IntArray5 = c_int * 5
ia = IntArray5(5, 1, 7, 33, 99)
qsort = libc.qsort
qsort.restype = None
CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))
def py_cmp_func(a, b):
print "py_cmp_func", a[0], b[0]
return a[0] - b[0]
cmp_func = CMPFUNC(py_cmp_func)
qsort(ia, len(ia), sizeof(c_int), cmp_func)
for i in ia: print i,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询