如何获取swig来包装链表类型结构?

时间:2010-05-28 02:44:50

标签: c swig struct

以下是我对列表的标准标题的看法。因为结构 指出自己,我们需要这个由两部分组成的声明。称之为listicle.h

typedef struct _listicle listicle;

struct _listicle{
    int i;
    listicle *next;
};    

我正试图让swig包装它,以便Python用户可以使用listicle 结构。这就是我现在listicle.i中的内容:

%module listicle

%{
#include "listicle.h"
%}

%include listicle.h
%rename(listicle) _listicle;

%extend listicle {
    listicle() {return malloc (sizeof(listicle));}
}

正如你在这里所说的那样,它不起作用。所有各种组合 我尝试过各自以自己特殊的方式失败。 [这一个:%extend defined for an undeclared class listicle。将其更改为%extend _listicle(并修复构造函数),并在Python中加载type object '_listicle' has no attribute '_listicle_swigregister'。等等。]

建议?

1 个答案:

答案 0 :(得分:0)

也许你可以忽略python代码中的下一个指针,只是有一个你在python中调用的next()函数?或者也许我不明白问题是什么......