1

我正在为现有库编写 Python 扩展。一些函数接受指向原语的指针,因此 arg 可以作为输出。

这不是很 Pythonic,所以我想使用 SWIG 文档中解释的类型映射,以便函数返回元组。

这是我的 SWIG 接口文件的片段(仅显示与此问题相关的部分)

%include "typemaps.i"                           // For pointers to primitive types

%apply double *OUTPUT { double *a1, double *a2, double *a3 };
%apply double *OUTPUT { double *b1, double *b2, double *b3 };
%apply double *OUTPUT { double *c1, double *c2 };


class FooBar
{
public:
    FooBar();
    ~FooBar();

    int     do(char* s, double *a1, double *a2, double *a3);
    double  something(int i, double *b1, double *b2, double *b3);
    void    great(double *c1, double *c2);
};

SWIG 文档似乎没有说明我是否可以按照我上面所做的方式使用多个 OUTPUT(宏?) - 这安全吗?

4

0 回答 0