SWIG

SWIG
Тип Інструмент для розробки
Автор David M. Beazleyd
Розробники Спільнота
Перший випуск 1996 рік
Стабільний випуск 2.0.10 (27 травня 2013)
Операційна система POSIX, MS Windows
Мова програмування C, C++
Інтерфейс користувача Командний рядок
Ліцензія Ліцензія в стилі BSD
Репозиторій github.com/swig/swig
Вебсайт swig.org

SWIG (англ. simplified wrapper and interface generator) — вільне програмне забезпечення для зв'язування програм та бібліотек, написаних на мовах C та C++, з інтерпретованими (Tcl, Perl, Python, Ruby, PHP) або компільованими (Java, C#, Scheme, OCaml) мовами. Головна мета: забезпечення можливості виклику функцій, написаних на одних мовах, з коду на інших мовах. Програміст створює файл .i з описом експортованих функцій; SWIG генерує вихідний код для склеювання C/C++ та потрібної мови, створює виконуваний файл. Вид виконуваного файлу залежить від вибраної мови:

  • виконуваний файл з вбудованим інтерпретатором скриптової мови;
  • бібліотека, функції C/C++ якої автоматично стають доступні з іншої мови;
  • бібліотека функцій C/C++ та бібліотека функцій - обгорток над функціями C/C++ (наприклад, JNI для Java).

Двигуни скриптових мов вбудовують в програми C/C++ за наступними причинами:

  • швидкість розробки з використанням скриптової мови вище, ніж швидкість розробки на C/C++;
  • користувачі отримують можливість автоматизації своїх дій завдяки сценаріям. Наприклад, в іграх сценарії використовуються для написання сюжету та рівнів;
  • розробники отримують можливість автоматизації для тестування ПО на етапі розробки. Готове ПО може не включати скриптовий двигун.

Причини створення бібліотек функцій C/C++, доступних інтерпретаторам інших мов:

SWIG написаний мовах С та C++, розповсюджується по ліцензії, подібній до BSD, з лютого 1996 року. ліцензія SWIG дозволяє використовувати, розповсюджувати та модифікувати код SWIG для комерційних та не комерційних цілей практично без обмежень.

Посилання

  • Портал «Вільне програмне забезпечення»
  • Офіційний сайт SWIG [Архівовано 7 липня 2015 у Wayback Machine.].
  • Досліди зі SWIG’ом: C++ код та Ruby [Архівовано 15 липня 2015 у Wayback Machine.].
  • SWIG та Python під Windows.

Література

  • Hans Petter Langtangen. Python scripting for computational science. — Springer, 2008. — 750 с. — ISBN 9783540739159.
  • Onur Cinar. Pro Android C++ with the NDK Paperback. — Apress, 2012. — 416 с. — ISBN 978-1430248279.