VEDEL

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2018. október 14-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
VEDEL
Típusú Fejlesztő eszköz
Fejlesztők Közösség
Beírva C, C++
Felület Parancs sor
Operációs rendszer POSIX , MS Windows
Első kiadás 1996
legújabb verzió 4.0.2 ( 2020. június 8. )
Engedély BSD stílusú licenc
Weboldal swig.org

A SWIG ( s implified w rapper and i nterface  generator ) egy ingyenes eszköz C és C++ nyelven írt programok és könyvtárak összekapcsolására értelmezett ( Tcl , Perl , Python , Ruby , PHP ) vagy lefordított ( Java , C# , Scheme , OCaml ) ) nyelvek. A fő cél: lehetővé tenni bizonyos nyelveken írt függvények meghívását más nyelvű kódból. A programozó létrehoz egy .i fájlt az exportált függvények leírásával; A SWIG forráskódot generál a C/C++ és a kívánt nyelv ragasztásához, létrehoz egy végrehajtható fájlt .

A végrehajtható fájl típusa a kiválasztott nyelvtől függ:

A szkriptnyelvi motorok a C/C++ programokba vannak beépítve a következő okok miatt:

A C/C++ függvénykönyvtárak más nyelvek tolmácsai számára elérhetővé tételének okai:

A SWIG C és C++ nyelven íródott, és 1996 februárja óta BSD - szerű licenc alatt adták ki . A SWIG licenc lehetővé teszi a SWIG kód kereskedelmi és nem kereskedelmi célú felhasználását, terjesztését és módosítását gyakorlatilag korlátozás nélkül.

Példa: C függvény meghívása Pythonból

Legyen olyan C kód, amely valamilyen funkciót valósít meg, például szövegnyomtatást.

/* Fájl: try.c */ #include <stdio.h> void echo ( void ) { printf ( " \" Hello World \"\n " ); }

Az echo() függvény Pythonból való meghívásához egy interfészfájlt ( .i kiterjesztésű) kell írnia a következő tartalommal:

/* Fájl: try.i */ % modul mytry extern void echo ( void );

és futtassa a következő parancsokat a Unix terminálon :

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.so

Windows operációs rendszer esetén ( Cygwin vagy MinGW használatakor ) a parancsok eltérőek lesznek:

swig -python try.i gcc -c try_wrap.c try.c -DHAVE_CONFIG_H gcc -megosztott try_wrap.o try.o -o _try.pyd -lpython25

A SWIG automatikusan létrehoz több fájlt: " mytry.py ", " try_wrap.c " és egy végrehajtható fájlt.

Az echo() függvény Pythonból való meghívásához indítsa el az értelmezőt, és futtassa a következő kódot:

>>> import mytry >>> mytry . echo () "Hello World" >>>


Linkek

Irodalom

  • Hans Petter Langtangen. Python szkriptek a számítástechnikához. - Springer, 2008. - 750 p. — ISBN 9783540739159 .