我正在为现有的库编写Python扩展。一些函数接受指向基元的指针,因此arg可以作为输出。
这不是非常pythonic,所以我想使用SWIG文档here中解释的类型映射,以便函数返回元组。
以下是我的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(宏?) - 这样安全吗?