ThR*_*R37 5 c++ python api static wrapper
我有一个关于静态变量和TypeObjects的小问题.我使用API C来包装一个c ++对象(我们称之为Acpp),它有一个名为x的静态变量.让我们调用我的TypeObject A_Object:
typedef struct {
PyObject_HEAD
Acpp* a;
} A_Object;
Run Code Online (Sandbox Code Playgroud)
TypeObject作为"A"附加到我的python模块"myMod".我已经定义了getter和setter(tp_getset),以便我可以从python访问和修改Acpp的静态变量:
>>> import myMod
>>> myA1 = myMod.A(some args...)
>>> myA1.x = 34 # using the setter to set the static variable of Acpp
>>> myA2 = myMod.A(some other args...)
>>> print myA2.x
34
>>> # Ok it works !
Run Code Online (Sandbox Code Playgroud)
这个解决方案有效,但并不是真的"干净".我想通过使用TypeObject而不是实例来访问python中的静态变量:
>>> import myMod
>>> myMod.A.x = 34 # what I wish...
Run Code Online (Sandbox Code Playgroud)
有人有想法帮助我吗?
提前致谢.