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 для комерційних та не комерційних цілей практично без обмежень.

Посилання[ред. | ред. код]

Література[ред. | ред. код]

  • Hans Petter Langtangen. Python scripting for computational science. — Springer, 2008. — 750 с. — ISBN 9783540739159.