请教python调用dll动态库的传参问题
我用python调用动态库,遇到一个参数传递的问题,入参和出参类型都是int*,C++程序接口如下:
bool INint(IN int tem[],OUT int data[])
{
for (int i=0;i<4;i++)
{
data[i]=tem[i]+8;
}
return true;
}
参数如何定义呢?
#coding=gbkpython
import os
import time
import datetime
from ctypes import *
def Init():
global dll
dll = WinDLL('cxtest.dll')
data =
tem =
ret = dll.INint(tem,adata)
print ret
if __name__ == '__main__':
Init()
[解决办法]
勤翻手册,里面有写嘛:
data = (c_int * 4)() # 无参数,默认初始化为0
tem = (c_int * 4)(1, 2, 3, 4) # 自定义初始化为1, 2, 3, 4