SWIG (Simplified Wrapper and Interface Generator) は、C/C++ で書かれたプログラムやライブラリを、Tcl、Perl、Python、Ruby、PHP、Luaなどのスクリプト言語や、Java、C#、Common Lisp、Scheme、OCamlなどのプログラミング言語に接続するためのオープンソースのツールである。 仕組み[編集] SWIGの目的は、プログラムとスクリプト言語間の接続を最小限の作業で達成することである。ヘッダファイルにわずかな数の特殊なコマンドを記述すると、SWIGはC/C++と対象の言語とを橋渡しするグルーコードを生成する。言語によって、グルーコードは以下の三つの形態となる。 もともとのプログラムと同様に振舞うが、スクリプト言語のインタプリタが埋め込まれた実行ファイル 既存のインタプリタの何らかの拡張モジュールとしてリンク