【问题标题】:Python SWIG arraysPython SWIG 数组
【发布时间】:2011-05-03 17:48:44
【问题描述】:

我正在用 SWIG for Python 包装一个 C 模块。有没有办法将所有成员都是相同类型(相同类型的 Swig 对象)的 Python 列表/元组转换为 C 数组?

【问题讨论】:

    标签: python arrays list types swig


    【解决方案1】:

    类型映射。您最有可能寻找的是“in”类型映射,它将 Python 类型映射到 C 类型。声明看起来像这样:

    %typemap(in) { /* 将 Python 元组对象转换为 C 数组的 C 代码 */ }

    在类型映射代码中,您可以使用变量 $input 来引用要转换的 PyObject*,并将转换后的 C 数组分配给 $1。

    http://docs.python.org/c-api/ 包含有关 Python/C API 的信息,您需要解压缩元组以获取项目并将它们转换为 C。

    http://www.swig.org/Doc1.3/Typemaps.html 拥有类型映射的 SWIG 文档。

    文档起初可能难以理解,因此请查看 /share 中的一些示例类型映射。该目录中的 carrays.i 也可以作为一个很好的起点。

    【讨论】:

      猜你喜欢
      • 2011-08-12
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多