/ / avvolgendo una tabella hash personalizzata usando swig - python, c, perl, hashtable, swig

avvolgendo una tabella hash personalizzata usando swig-python, c, perl, hashtable, swig

Ho un'implementazione personalizzata di una tabella hashscritto in C per un'applicazione che sto sviluppando. Ora voglio creare un wrapper per questo in swig in modo da poterli mappare in tipi nativi come "dict" in Python. Voglio essere in grado di scrivere un singolo file di interfaccia che posso usare sia per Perl che per Python. Prima di tutto voglio sapere se questo è anche possibile, o dovrei farlo individualmente per ogni Python e Perl?

risposte:

0 per risposta № 1

È possibile con un file di implementazione, a seconda della complessità della tua implementazione, può essere semplice come:

%module my_hash

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

E generando il codice di interfaccia con:

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

Se devi scrivere dei tipi di caratteri personalizzati, potresti doverli usare #ifdef SWIGPYTHON o #ifdef SWIGPERL per specificare il codice specifico della lingua nella definizione dell'interfaccia.