HUIKKA | |
---|---|
Tyyppi | Kehitystyökalu |
Kehittäjät | Yhteisö |
Sisään kirjoitettu | C, C++ |
Käyttöliittymä | Komentorivi |
Käyttöjärjestelmä | POSIX , MS Windows |
Ensimmäinen painos | 1996 |
uusin versio | 4.0.2 ( 8. kesäkuuta 2020 ) |
Lisenssi | BSD-tyylinen lisenssi |
Verkkosivusto | swig.org |
SWIG ( s implified w rapper and i nterface generator ) on ilmainen työkalu C - ja C ++ -kielellä kirjoitettujen ohjelmien ja kirjastojen linkittämiseen tulkittuun ( Tcl , Perl , Python , Ruby , PHP ) tai käännettyyn ( Java , C# , Scheme , OCaml ) ) Kieli (kielet. Päätavoite: tarjota mahdollisuus kutsua joillain kielillä kirjoitettuja toimintoja muiden kielten koodista. Ohjelmoija luo .i -tiedoston , jossa on kuvaus vietyistä funktioista; SWIG luo lähdekoodin C/C++:n ja halutun kielen liimaamiseen, luo suoritettavan tiedoston .
Suoritettavan tiedoston tyyppi riippuu valitusta kielestä:
Komentosarjakielimoottorit on rakennettu C/C ++ -ohjelmiin seuraavista syistä:
Syitä C/C++-funktioiden kirjastojen asettamiseen muiden kielten tulkkien saataville:
SWIG on kirjoitettu C- ja C++ -kielellä ja se on julkaistu BSD :n kaltaisella lisenssillä helmikuusta 1996 lähtien . SWIG-lisenssi antaa sinun käyttää, jakaa ja muokata SWIG-koodia kaupallisiin ja ei-kaupallisiin tarkoituksiin käytännössä ilman rajoituksia.
Olkoon C-koodi, joka toteuttaa jonkin toiminnon, esimerkiksi tekstin tulostamisen.
/* Tiedosto : try.c */ #include <stdio.h> void echo ( void ) { printf ( " \" Hello World \"\n " ); }Jotta voit kutsua echo() -funktion Pythonista, sinun on kirjoitettava käyttöliittymätiedosto (laajennus .i ), jonka sisältö on seuraava:
/* Tiedosto : try.i */ % moduuli mytry ulkoinen void echo ( void );ja suorita seuraavat komennot Unix - päätteessä :
swig -python try.i gcc -c -fpic try_wrap.c try.c -DHAVE_CONFIG_H -I "/usr/local/include/python2.5" -I "/usr/local/lib/python2.5/config" gcc -shared try.o try_wrap.o -o _mytry.soWindows -käyttöjärjestelmässä ( käytettäessä Cygwin tai MinGW ) komennot ovat erilaisia:
swig -python try.i gcc -c try_wrap.c try.c -DHAVE_CONFIG_H gcc -jaettu try_wrap.o try.o -o _try.pyd -lpython25SWIG luo automaattisesti useita tiedostoja: " mytry.py ", " try_wrap.c " ja suoritettavan tiedoston.
Voit kutsua echo() -funktiota Pythonista käynnistämällä tulkin ja suorittamalla seuraavan koodin:
>>> tuo mytry >>> mytry . echo () "Hei maailma" >>>