この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?"SWIG" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年11月)
SWIG
開発元 SWIG developers
最新版
4.1.1 / 2022年11月30日 (18か月前) (2022-11-30)[1]
リポジトリ ウィキデータを編集
対応OS クロスプラットフォーム
ライセンス GPL
公式サイト www.swig.org/
テンプレートを表示

SWIG (Simplified Wrapper and Interface Generator) は、C/C++ で書かれたプログラムライブラリを、TclPerlPythonRubyPHPLuaなどのスクリプト言語や、JavaC#Common LispSchemeOCamlなどのプログラミング言語に接続するためのオープンソースのツールである。

仕組み

SWIGの目的は、プログラムとスクリプト言語間の接続を最小限の作業で達成することである。ヘッダファイルにわずかな数の特殊なコマンドを記述すると、SWIGはC/C++と対象の言語とを橋渡しするグルーコードを生成する。言語によって、グルーコードは以下の三つの形態となる。

用途

既存のC/C++プログラムにスクリプト言語のエンジンを埋め込むことは、大きく二つの用途がある。

既存のインタプリタからロードできる動的なライブラリを作成する理由はいくつもある。

歴史

SWIGはCとC++で書かれ、1996年2月から広く公開されている。最初の作者で主要な開発者であったのは、ロスアラモス国立研究所ユタ大学の大学院生でシカゴ大学で教員として働きながらSWIGを開発したDave Beazleyであった。現在の開発は活発なボランティアのグループによってサポートされている。SWIG はGPL(2010年6月にリリースされたver2.0.00より前はBSD型のライセンス)でリリースされており、すなわち、使用、コピー、改変、再配布は商用でも非商用でもGPLに基づいてソースコードを配布する限りにおいて自由に行うことができる。

脚注

  1. ^ SWIG / News: SWIG-4.1.1 released”. 2023年9月26日閲覧。

関連項目

外部リンク