Как я могу получить swig, чтобы обернуть связанную структуру типа списка? - PullRequest
1 голос
/ 28 мая 2010

Вот что я считаю довольно стандартным заголовком для списка. Потому что структура указывает на себя, нам нужно это объявление из двух частей. Назовите это 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 голосов
/ 20 июня 2010

Может быть, вы могли бы игнорировать следующий указатель в коде python и просто иметь функцию next (), которую вы вызываете в python? А может я не понимаю в чем проблема ...

...