1

我正在使用 PyObject 功能来调用 c 函数,并且

return Py_BuildValue("theTypeToConvert", myCVariable);

将东西返回给我的 python 程序,这一切都很好。

但是我有一个自定义的 C 类型

extern HANDLE pascal

如何将此实例传递回python,以便稍后将其提供给其他c函数,我能想到的最接近的是使用

Py_BuildValue("O&", etc)

但这显然会破坏变量,因为我以后没有得到正确的结果。

4

1 回答 1

0

如果我正确理解您希望对象从 Python 的角度来看是“不透明的”,即只是一个指针值,您可以在 Python 中传递但不能对其指向的对象进行操作,那么您可能在 Capsule 对象之后。

关于胶囊的官方 Python 文档: https ://docs.python.org/2/c-api/capsule.html#capsules

另请参阅: 使用 Python/C API 传递 C 指针

于 2015-03-12T12:12:43.150 回答