SWIG

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SWIG
Тип Інструмент для розробки
Розробники Сообщество
Перший випуск 1996 рік
Стабільний випуск 2.0.10 (27 травня 2013)
Версії 3.0.12 (28 січня 2017)[1][2]
Репозиторій github.com/swig/swig
Операційна система POSIX, MS Windows
Написано на C, C++
Інтерфейс користувача Командная строка
Ліцензія Ліцензія в стилі BSD
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.
  • SWIG / News: SWIG-3.0.12 released
  • Release 3.0.12 — 2017.