Vinculação de linguagem - Language binding

Em programação e design de software , vinculação é uma interface de programação de aplicativo (API) que fornece código de cola feito especificamente para permitir que uma linguagem de programação use uma biblioteca estrangeira ou serviço de sistema operacional (um que não seja nativo para essa linguagem).

Características

A vinculação geralmente se refere ao mapeamento de uma coisa para outra. No contexto das bibliotecas de software , as ligações são bibliotecas de wrapper que unem duas linguagens de programação , de forma que uma biblioteca escrita para uma linguagem possa ser usada em outra. Muitas bibliotecas de software são escritas em linguagens de programação de sistema , como C ou C ++ . Para usar tais bibliotecas de outra linguagem, geralmente de nível superior , como Java , Common Lisp , Scheme , Python ou Lua , uma ligação para a biblioteca deve ser criada nessa linguagem, possivelmente exigindo a recompilação do código da linguagem, dependendo do quantidade de modificação necessária. No entanto, a maioria das linguagens oferece uma interface de função estrangeira , como Python's e OCaml 's ctypes, e Embeddable Common Lisp 's cffie uffi.

Por exemplo, ligações Python são usadas quando uma biblioteca C existente, escrita para algum propósito, deve ser usada a partir de Python. Outro exemplo é libsvnescrito em C para fornecer uma API para acessar o repositório de software Subversion . Para acessar o Subversion de dentro do código Java, pode ser usado, que depende de estar instalado e atua como uma ponte entre a linguagem Java e , assim, fornecendo uma API que invoca funções de para fazer o trabalho. libsvnjavahllibsvnlibsvnlibsvn

Os principais motivos para criar associações de biblioteca incluem a reutilização de software , para reduzir a reimplementação de uma biblioteca em várias linguagens e a dificuldade de implementar alguns algoritmos de forma eficiente em algumas linguagens de alto nível.

Ambiente de execução

Modelos de objeto

Máquinas virtuais

Porting

Veja também

Referências

links externos