给定由PyObject
创建的PyBindGen
,很容易获得指向包装的C ++对象的指针,只需在struct中使用obj
成员即可:
typedef struct {
PyObject_HEAD
MyWrappedClass *obj;
PyObject *inst_dict;
PyBindGenWrapperFlags flags:8;
} PyMyWrappedClass;
但是,假设我只有
MyWrappedClass*
,并且想要获取包装它的PyObject
(如果有的话,它可能不存在)。有什么方法可以在不维护我自己的backpointers字典的情况下进行此操作? 最佳答案
如果我因为对PyBindGen
不熟悉而享有足够的声誉,那么我会将此添加为注释,但是除非inst_dict
是反向指针字典(顾名思义,否则),我认为您不走运(除非您想遍历Python堆以查看那里是否有类的任何实例)。
关于c++ - 如何获取给定C++指针的PyBindGen PyObject?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6334753/