Concept

Binding

In programming and software design, binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to that language). Binding generally refers to a mapping of one thing to another. In the context of software libraries, bindings are wrapper libraries that bridge two programming languages, so that a library written for one language can be used in another language. Many software libraries are written in system programming languages such as C or C++. To use such libraries from another language, usually of higher-level, such as Java, Common Lisp, Scheme, Python, or Lua, a binding to the library must be created in that language, possibly requiring recompiling the language's code, depending on the amount of modification needed. However, most languages offer a foreign function interface, such as Python's and OCaml's ctypes, and Embeddable Common Lisp's cffi and uffi. For example, Python bindings are used when an extant C library, written for some purpose, is to be used from Python. Another example is libsvn which is written in C to provide an API to access the Subversion software repository. To access Subversion from within Java code, libsvnjavahl can be used, which depends on libsvn being installed and acts as a bridge between the language Java and libsvn, thus providing an API that invokes functions from libsvn to do the work. Major motives to create library bindings include software reuse, to reduce reimplementing a library in several languages, and the difficulty of implementing some algorithms efficiently in some high-level languages. Common Object Request Broker Architecture (CORBA) – cross-platform-language model Component Object Model (COM) – Microsoft Windows only cross-language model Distributed Component Object Model (DCOM) – extension enabling COM to work over networks Cross Platform Component Object Model (XPCOM) – Mozilla applications cross-platform model Common Language Infrastructure – .

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Concepts associés (16)
Interface de programmation
thumb|Démonstration d'une routine appelant une base de données dans une interface de programmation. En informatique, une interface de programmation d’application ou interface de programmation applicative, souvent désignée par le terme API pour « application programming interface », est un ensemble normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle un logiciel offre des services à d'autres logiciels.
Décoration de nom
En construction de compilateur, la signature (aussi appelée décoration de nom) est une technique utilisée pour résoudre divers problèmes de résolution de noms uniques des entités informatiques avec plusieurs langages de programmation modernes. Cette technique fournit un moyen d'encoder des informations supplémentaires dans le nom d'une structure, d'une classe ou d'un autre type de donnée afin que les compilateurs puissent communiquer davantage d'informations sémantiques aux lieurs.
D-Bus
En informatique, D-Bus est un logiciel de communication inter-processus permettant à des applications de communiquer entre elles. Hautement influencé par le système DCOP implémenté dans KDE 2 et KDE 3, il l'a remplacé dans KDE 4. Red Hat est le développeur principal de D-Bus, en tant qu'élément du projet freedesktop.org. Freedesktop.org diffuse D-Bus sous les termes de la licence publique générale GNU et la Licence Académique Libre en tant que logiciel libre.
Afficher plus

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.