Strumento di sviluppo software
Immagini
Simplified wrapper and interface generator, o SWIG, traduce file C/C++ in vari linguaggi di programmazione di alto livello. Viene utilizzato per creare interfacce e ambienti utente e per testare prototipi di programmi.
Compatibilità completa
SWIG funziona con linguaggi di programmazione scriptati e non scriptati. Genera automaticamente wrapper per programmi in vari formati, tra cui Java e Javascript, Ruby, Python e Octave.
Tuttavia, non copre tutti i linguaggi, specialmente quelli per la programmazione orientata agli oggetti. Dovrete usare Valabind per convertire le astrazioni .vapi e .vala in C++.
Funzioni
SWIG è gratuito e crea un codice sorgente che funge da collegamento tra la lingua di destinazione e il C. Il codice è sempre una libreria condivisa, ma si presenta in due forme, a seconda del linguaggio in questione.
La differenza è che una libreria può essere collegata a un modulo esterno, mentre l'altra si collega direttamente ad altri programmi nel linguaggio di destinazione.
Questo programma consente di controllare la maggior parte degli aspetti del processo di generazione del wrapper. Alcune delle caratteristiche più importanti da personalizzare nel programma includono la gestione delle eccezioni, la risoluzione delle ambiguità e la gestione della memoria. L'uso di SWIG facilita la personalizzazione delle applicazioni e la verifica dei vari script che verranno inclusi nel programma finito. È possibile creare codice per progetti commerciali e non commerciali sotto licenza Gnu.
Input e output
Dopo aver lanciato il programma, questo si aspetta come input file con dichiarazioni ANSI C/C++ e direttive SWIG. Questi file sono riconoscibili dai loro suffissi .i o .swg.
SWIG produce un file C/C++ contenente tutto il codice wrapper necessario per costruire un modulo di estensione per la lingua di destinazione. A seconda di quello scelto, potrebbe generare dati aggiuntivi.
Non sarà necessario modificare il file di output, ma solo compilarlo e aggiungerlo alla propria libreria condivisa C/C++.
Utile per i professionisti
SWIG facilita la personalizzazione dei programmi, automatizzando gran parte del processo. Anche se il prodotto finale non contiene un motore di scripting, è utile per scrivere script di test. Richiede una certa conoscenza del settore, ma per i programmatori questo strumento è inestimabile.