gpt4 book ai didi

c - 我怎样才能让 swig 包装一个链表类型的结构?

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:02 25 4
gpt4 key购买 nike

这是我认为非常标准的列表标题。因为结构指向自身,我们需要这个由两部分组成的声明。将其命名为 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'。等等。]

建议?

最佳答案

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

关于c - 我怎样才能让 swig 包装一个链表类型的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com