SWIG

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

Двигуни скриптових мов вбудовують в програми 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.
  1. Release rel-4.0.2 — 2020.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.