我有一个C函数,doxygen是这样的:
long function( classA * obj1,
classB * obj2,
classC ** obj3,
long value,
const char * name1,
const char * name2,
classD ** obj4,
classD ** obj5,
classD ** obj6
)
我需要从python调用它并获取最后3个参数以传递给另一个dll。目前我可以很好地调用DLL,但如果我试图将最后3个参数传递给另一个函数,则会出现如下错误:
^{pr2}$我可能在ctypes方面做了一些错误的事情,我会很感激关于如何使用它的一些光。。。在
第二个DLL如下所示:
int function2(ClassD * obj4)
现在,我把最后三个论点“组合”成这样:
temp=ctypes.c_long*1
obj = temp(0)
还有,从ctypes到swig有什么办法吗?显然我可以用另一种方法来使用long函数。在
我不得不做了一些额外的挖掘来弄清楚C-types是如何工作的,下面这些似乎是可行的。对于需要创建数组的函数:
并通过引用函数传递它:
^{pr2}$对于第二个函数,我只传递我创建的数组的一个元素:
相关问题 更多 >
编程相关推荐