【问题标题】:SWIG typemap for python list to double *python 列表的 SWIG 类型映射加倍 *
【发布时间】:2012-11-23 05:32:14
【问题描述】:

如何在 swig 中使用 typemap 转换 python 列表。 例如:

lst = [1.0,2.0,3.3] (Python list)

传递给

void print_arg(double *lst){} (c/c++ function)

如何为此编写 swig 接口文件。

【问题讨论】:

标签: c++ python c swig


【解决方案1】:

一种方法是使用 SWIG、carrays 和 cpointer

示例代码是:

SWIG 界面

%include "carrays.i"
%array_class(double, doubleArray);

Python 模块

LEVEL = 3
thre = [1, 100, 10000]
a = example.doubleArray(LEVEL)
for i in xrange(LEVEL):
    a[i] = thre[i]

gd=example.GradedDouble(LEVEL,a)

以上是我的工作示例...根据您的目的相应地更改代码...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 2019-01-25
    • 2017-08-08
    • 2016-07-25
    • 2012-09-09
    • 1970-01-01
    相关资源
    最近更新 更多