swigpython包装了一个需要指向stru的双指针的函数

2024-07-02 13:52:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在包装一个包含结构的C库:

struct SCIP
{
//...
}

以及一个创建这样一个结构的函数:

^{pr2}$

SWIG生成一个python类SCIP和一个函数SCIPcreate(*args)。在

当我现在尝试在python中调用SCIPcreate()时,它显然需要一个SCIP**类型的参数,我该如何创建这样的东西?在

或者我应该尝试用一个自动调用SCIPcreate()的构造函数来扩展SCIP类?如果是这样,我该怎么做呢?在


Tags: 函数类型参数args结构structswigpr2
1条回答
网友
1楼 · 发布于 2024-07-02 13:52:30

给定头文件:

struct SCIP {};

void SCIPcreate(struct SCIP **s) {
  *s = malloc(sizeof **s);
}

我们可以使用以下方法包装此函数:

^{pr2}$

这是两个类型映射,一个用于创建本地临时指针,用作函数的输入,另一个用于在调用后将指针的值复制到返回中。在

作为替代方法,您还可以使用%inline来设置重载:

^{3}$

相关问题 更多 >