【问题标题】:Complex data structures while embedding\extending Python with C++使用 C++ 嵌入\扩展 Python 时的复杂数据结构
【发布时间】:2011-05-08 07:02:42
【问题描述】:

Python 文档很好地介绍了Extending and Embedding Python with C\C++。但是,在许多情况下,需要在语言之间传输复杂的数据结构。

实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: c++ data-structures extending python-embedding


    【解决方案1】:

    Create your own type 并适当填写tp_*attr 成员。

    【讨论】:

    • 我真的需要创建一个新类型来将结构从 C\C++ 传输到 Python 并返回吗?例如,没有办法将其映射到字典吗?
    • 另外——如果我创建了一个新类型——我需要在它和 C\C++ 中的 C\C++ 数据结构之间转换数据吗?
    • 您实际上并没有在 C/C++ 和 Python 之间“转移”任何东西;类型实例将结构保存为成员,tp_*attr 函数来回转换数据。
    【解决方案2】:

    IIRC Boost.Python http://www.boost.org/doc/libs/1_54_0/libs/python/doc/index.html 将在这里为您完成很多繁重的工作。

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多