也许我遗漏了什么,但这里有一个问题:
我正在通过 C 扩展跟踪 python 代码,我的跟踪函数获得了 PyFrameObject* 框架。现在我想通过 Python 代码(通过 Cython 嵌入或转换为 C)处理框架,但它处理 PyObject*。
如何将 PyFrameObject* 转换为 PyObject*?我在 frameobject.h 中找不到合适的转换函数。
谢谢。
最佳答案
使用强制转换:
PyObject *myObject = (PyObject *)myFrameObject
这是 Python C API 的标准;从 PyObject
“继承”的所有对象的顶部都有一个 PyObject_VAR_HEAD
,因此指向该对象的指针可转换为指向 PyObject
的指针.
关于python - 如何将 PyFrameObject 转换为 PyObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11083411/