我有一个python,ctypes包装了一个C API函数,它为类X取一个void*参数,例如。 C:
myFunc(void* aXHandle); //where X is a class, of class X.
对于X类,我可以访问swigged API并可以获得我的。这个,其类型为SwigPyObject。在
如何强制转换它,以便可以使用ctypes并使用ctypes C\u void\u p作为参数调用我的C-API函数? 在Python中,我想的是: 轴对象此=我的。这个在
^{pr2}$但这不起作用;得到“参数1中的错误类型”
SwigPyObject
的__int__
方法由pyrun.swg中定义的SwigPyObject_long
处理。它返回PyLong_FromVoidPtr(v->ptr)
,因此您应该能够使用以下命令:ctypes更方便地查找
^{pr2}$_as_parameter_
属性。可以在实例上或将其设置为属性:简单的调用
myFunc(myX)
。在相关问题 更多 >
编程相关推荐