我正在使用 PyObject 功能来调用 c 函数,并且
return Py_BuildValue("theTypeToConvert", myCVariable);
将东西返回给我的 python 程序,一切正常。
但是我有一个自定义的 C 类型
extern HANDLE pascal
我如何将它的一个实例传递回 python,以便我稍后可以将它提供给其他 c 函数,我能想到的最接近的是使用
Py_BuildValue("O&", etc)
但这显然破坏了变量,因为我稍后没有得到正确的结果。
最佳答案
如果我正确理解您希望对象从 Python 的角度来看是“不透明的”,即只是一个指针值,您可以在 Python 中传递但不对其指向的对象进行操作,那么您可能会在胶囊对象。
有关胶囊的官方 Python 文档: https://docs.python.org/2/c-api/capsule.html#capsules
关于python - 将 c 变量传递给 python 并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29009201/