请教个 boost.python 的导出嵌套结构到 python 脚本中怎么访问的问题

2016-12-13 16:23:03 +08:00
 zycode
C++ 中有结构 B
// POINT 为 GDI 的一个结构 struct POINT {int x,int y};
struct B{
POINT a1;
int c;
};

用 boost.python 把 B 结构导出
class_<B>("B")
.def_readwrite("c",&B::c)
.def_readwrite("a1",&B::a1)
;
那么在 python 中怎么 对 a1.x 读写呢?直接操作 a1.x 会出错
2026 次点击
所在节点    Python
3 条回复
zycode
2016-12-13 16:32:54 +08:00
解决了,把 POINT 也用导出就行了.不过这样感觉一旦用到复杂一点的结构还真是累人
justou
2016-12-13 19:42:47 +08:00
可以试试 cython, 更容易维护, 几乎照抄 C/C++头文件, 也有一些自动化工具, 从 .h 直接生成 .pxd

http://docs.cython.org/en/latest/
zycode
2016-12-13 23:44:20 +08:00
@justou 好的,多谢,回头我去看看去,又碰到 boost python 参数引用和指针 怎么声明的问题了,头大。帮助文档也没找到详细解释。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/327361

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX