python调用dll怎样传入数组和返回数组? 请给出详细代码

 我来答
張員瑛
推荐于2016-12-04 · TA获得超过154个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:248万
展开全部
#传入数组的例子
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,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式