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