Jump to content

Языковая привязка

(Перенаправлено из Ctypes (привязка языка) )

В программировании и разработке программного обеспечения привязка это интерфейс прикладного программирования (API), который предоставляет связующий код , специально созданный для того, чтобы язык программирования мог использовать стороннюю библиотеку или службу операционной системы (не родную для этого языка).

Характеристики

[ редактировать ]

Привязка обычно относится к сопоставлению одного объекта с другим. В контексте программных библиотек привязки представляют собой библиотеки-оболочки, которые соединяют два языка программирования , так что библиотеку, написанную для одного языка, можно использовать на другом языке. [ 1 ] Многие библиотеки программного обеспечения написаны на языках системного программирования, таких как C или C++ . Чтобы использовать такие библиотеки из другого языка, обычно более высокого уровня , такого как Java , Common Lisp , Scheme , Python или Lua , привязка к библиотеке должна быть создана на этом языке, возможно, требуя перекомпиляции кода языка, в зависимости от необходимое количество модификаций. [ 2 ] Однако большинство языков предлагают внешний интерфейс функций , например Python и OCaml . ctypesи встраиваемые Common Lisp'ы . cffi и uffi. [ 3 ] [ 4 ] [ 5 ]

Например, привязки Python используются, когда существующая библиотека C, написанная для какой-либо цели, должна использоваться из Python. Другой пример: libsvn который написан на C и предоставляет API для доступа к Subversion репозиторию программного обеспечения . Чтобы получить доступ к Subversion из кода Java, libsvnjavahl можно использовать, что зависит от libsvn устанавливается и действует как мост между языком Java и libsvn, тем самым предоставляя API, который вызывает функции из libsvn сделать работу. [ 6 ]

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

Среда выполнения

[ редактировать ]

Объектные модели

[ редактировать ]

Виртуальные машины

[ редактировать ]

Портирование

[ редактировать ]

См. также

[ редактировать ]
  1. ^ «Приложение А. Создание языковой привязки для Каира» . Cairographics.org . Проверено 2 апреля 2014 г.
  2. ^ «Стандарты, API, интерфейсы и привязки» . Acm.org. Архивировано из оригинала 16 января 2015 г. Проверено 2 апреля 2014 г.
  3. ^ «ctypes — внешняя библиотека функций для Python» . Документация Python v3.8.3 . Docs.python.org . Проверено 4 июня 2020 г.
  4. ^ Хикки, Джейсон; Мадхавапедди, Анил; Мински, Ярон (2013). «Real Worl OCaml, Глава 19. Интерфейс внешних функций» . Realworldocaml.org . Проверено 19 июля 2015 г.
  5. ^ «Введение – Руководство пользователя CFFI» . Common-lisp.net . Проверено 2 апреля 2014 г.
  6. ^ «Часто задаваемые вопросы по Subversion JavaHL» . Subclipse.tigris.org. 18 июня 2013 г. Проверено 2 апреля 2014 г.
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1e35bfb03937f693e5c878a1fe9a05c7__1631859360
URL1:https://arc.ask3.ru/arc/aa/1e/c7/1e35bfb03937f693e5c878a1fe9a05c7.html
Заголовок, (Title) документа по адресу, URL1:
Language binding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)