SWIG (англ. simplified wrapper and interface generator) – свободный инструмент для связывания программ и библиотек, написанных на языках C и C++, с интерпретируемыми (Tcl, Perl, Python, Ruby, PHP) или компилируемыми (Java, C#, Scheme, OCaml) языками.
Основная цель: обеспечение возможности вызова функций, написанных на одних языках, из кода на других языках. Программист создаёт файл .i с описанием экспортируемых функций; SWIG генерирует исходный код для склеивания C/C++ и нужного языка, создаёт исполняемый файл.
Работает под управлением операционных систем Microsoft Windows, Mac OS X, Solaris, Linux и FreeBSD.
Вид исполняемого файла зависит от выбранного языка:
Движки скриптовых языков встраивают в программы на C/C++ по следующим причинам:
Причины создания библиотек функций C/C++, доступных интерпретаторам других языков:
SWIG написан на языках С и C++, распространяется по лицензии, похожей на BSD, с февраля 1996 года. Лицензия SWIG позволяет использовать, распространять и модифицировать код SWIG для коммерческих и некоммерческих целей практически без ограничений.
Ссылки