Интернет магазин китайских планшетных компьютеров



Компьютеры - SWIG

08 июня 2011


Оглавление:
1. SWIG
2. Простой пример использования SWIG



SWIG — свободный инструмент для связывания программ и библиотек написанных на C/C++ со скриптовыми языками, такими как Tcl, Perl, Python, Ruby, PHP или другими языками наподобие Java, C#, Scheme или OCaml. Основная цель — достигнуть связи с минимальными усилиями: в файлы заголовка программы добавляется небольшое количество указаний, по которым SWIG генерирует исходный код для склеивания C/C++ и нужного языка. В зависимости от языка, результат склеивания может быть представлен в трех формах:

  • исполняемый файл исходной программы со встроенным интерпретатором скриптового языка
  • разделяемая библиотека, к которой существующий интерпретатор может подключаться в виде расширения
  • разделяемая библиотека, которая может подключаться к другим программам, написанным на нужном языке

Существует две основные причины для встраивания скриптового языка в C/C++ программу:

  • С помощью скриптового языка вместо C/C++ программа может дорабатываться намного быстрее. Скриптовый движок можно даже сделать доступным пользователям, чтобы они могли автоматизировать свою работу через скрипты. Такой приём повсеместно используется в играх для написания сюжета и уровней.
  • Даже если конечный продукт не будет включать скриптовый движок, тем не менее практика написания тестовых скриптов может оказаться полезной.

Есть несколько причин для создания динамических библиотек, которые могут загружаться существующими интерпретаторами:

  • Предоставить доступ к C/C++ библиотеке при отсутствии аналогов в скриптовом языке
  • Изначальное создание программы полностью на скриптовом языке и переписывание критических участков кода после анализа производительности на C/C++

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



Просмотров: 1729


<<< Smart Install Maker
WebMethods >>>