/ / owijanie niestandardowej tabeli mieszania za pomocą swig - python, c, perl, hashtable, swig

zawijanie niestandardowej tabeli mieszania za pomocą suig - python, c, perl, hashtable, swig

Mam niestandardową implementację tabeli mieszanianapisane w C dla aplikacji, którą tworzę. Teraz chcę utworzyć opakowanie dla niego w swig, aby móc mapować je na rodzime typy, takie jak „dict” w Pythonie. Chcę móc napisać pojedynczy plik interfejsu, którego mogę używać zarówno dla Perla, jak i Pythona. Przede wszystkim chcę wiedzieć, czy jest to możliwe, czy też powinienem to zrobić indywidualnie dla każdego Pythona i Perla?

Odpowiedzi:

0 dla odpowiedzi № 1

Jest to możliwe przy użyciu jednego pliku implementacyjnego. W zależności od złożoności implementacji, może to być tak proste, jak:

%module my_hash

%inline %{
#include "my_hash.h"
%}

I generowanie kodu interfejsu za pomocą:

swig -python my_hash.i
swig -perl my_hash.i

Jeśli musisz napisać dowolne niestandardowe mapy typów, być może będziesz musiał użyć #ifdef SWIGPYTHON lub #ifdef SWIGPERL określić specyficzny dla języka kod w definicji interfejsu.