C++ C++;当函数采用非平凡参数时,是否通过SWIG使用python回调?
我刚刚阅读了“SWIG和Python”教程的以下部分: 我理解他们在示例中所做的工作,基本上你编写了一个调用python的C函数。但是,所提供的示例只使用参数列表中的一个double,这使得为python构建参数列表非常简单C++ C++;当函数采用非平凡参数时,是否通过SWIG使用python回调?,c++,python,callback,swig,pyobject,C++,Python,Callback,Swig,Pyobject,我刚刚阅读了“SWIG和Python”教程的以下部分: 我理解他们在示例中所做的工作,基本上你编写了一个调用python的C函数。但是,所提供的示例只使用参数列表中的一个double,这使得为python构建参数列表非常简单 我有一个C++回调,它有以下签名: Vector (*CALLBACK)(Simulation*, Vector, Vector, double, void*) 其中Vector和Simulation是我自己的类,void*表示持有PyObject的clientData
我有一个C++回调,它有以下签名:
Vector (*CALLBACK)(Simulation*, Vector, Vector, double, void*)
其中Vector和Simulation是我自己的类,void*表示持有PyObject的clientData(如示例中所用)
我知道SWIG包装了Vector和Simulation类,因为我可以在pythonshell中创建它们。唯一的问题是,我不知道如何将回调函数中的向量参数转换为python参数列表中适当的PyObject。当SWIG包装类本身时,它显然有办法做到这一点,但我不知道如何在函数中手动完成它
非常感谢任何帮助!
-蔡斯我不认为你的问题实际上是关于游泳;这纯粹是关于Python的。在这个级别上,您的问题只是从C调用Python,因此您需要学习Python文档。(同时)