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 cffi
e 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 é libsvn
escrito 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.
libsvnjavahl
libsvn
libsvn
libsvn
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
- Common Object Request Broker Architecture (CORBA) - modelo de plataforma cruzada de idioma
-
Component Object Model (COM) - modelo de linguagem cruzada somente para
Microsoft Windows
- Distributed Component Object Model (DCOM) - extensão que permite COM para trabalhar em redes
- Modelo de objeto de componente de plataforma cruzada ( XPCOM ) - modelo de plataforma cruzada de aplicativos Mozilla
- Infraestrutura de linguagem comum - modelo de plataforma cruzada do .NET Framework -language
- Freedesktop.org D-Bus - modelo de idioma cruzado aberto
Máquinas virtuais
Porting
- Objeto portátil - plataforma cruzada - definição de modelo de objeto de idioma
Veja também
- Interface de programação de aplicativo (API)
- Interface binária do aplicativo (ABI)
- Convenção de chamada
- SQL embutido
- Nome mutilado
- Wrapper simplificado e gerador de interface ( SWIG ) - gerador de vinculação de interface de muitos idiomas para muitos idiomas, de código aberto
- Função Wrapper
Referências
links externos
- JTC1 / SC22 / WG11 - Técnicas de vinculação , um padrão ISO para vinculações de linguagem
- O que é uma ligação de linguagem?