Jazyková vazba - Language binding
V programování a designu softwaru , vázání je rozhraní pro programování aplikací (API), který poskytuje lepidlo kód speciálně vyrobené, aby se programovací jazyk používat cizí knihovnu nebo operačního systému službu (ten, který není nativní pro daný jazyk).
Charakteristika
Vazba se obecně týká mapování jedné věci na druhou. V kontextu softwarových knihoven jsou vazby obalovými knihovnami, které překlenují dva programovací jazyky , takže knihovnu napsanou pro jeden jazyk lze použít v jiném jazyce. Mnoho softwarových knihoven je napsáno v systémových programovacích jazycích, jako je C nebo C ++ . Chcete-li používat takové knihovny z jiného jazyka, obvykle vyšší úrovně , jako je Java , Common Lisp , Scheme , Python nebo Lua , musí být v tomto jazyce vytvořena vazba ke knihovně, která případně vyžaduje překompilování kódu jazyka v závislosti na množství potřebné úpravy. Nicméně, většina jazyků nabízejí zahraniční funkce rozhraní , jako je Python a ocaml ‚S ctypes
a Embeddable Common Lisp ‘ s cffi
a uffi
.
Například, Python vázání jsou používány, když existující knihovny C, které pro některé účely, je třeba použít Python. Dalším příkladem je to, libsvn
co je napsáno v jazyce C, aby poskytlo API pro přístup k úložišti softwaru Subversion . K přístupu k Subversion z kódu Java lze použít, což závisí na instalaci a funguje jako most mezi jazykem Java a poskytuje tak API, které vyvolává funkce od k provedení práce.
libsvnjavahl
libsvn
libsvn
libsvn
Mezi hlavní motivy vytváření vazeb knihoven patří opětovné použití softwaru , snížení opětovné implementace knihovny v několika jazycích a obtížnost efektivní implementace některých algoritmů v některých jazycích vyšší úrovně.
Běhové prostředí
Objektové modely
- Common Object Request Broker Architecture (CORBA) - cross-platform -language modelu
-
Component Object Model (COM) -vícejazyčný model pouze pro
Microsoft Windows
- Distributed Component Object Model (DCOM) - rozšíření umožňující práci COM přes sítě
- Object Cross Platform Component Model ( XPCOM ) - Mozilla aplikací na platformě modelu
- Common Language Infrastructure - .NET Framework cross-platform -language modelu
- Freedesktop.org D-Bus -otevřený multiplatformní jazykový model
Virtuální stroje
Přenos
- Portable objekt - cross-platform -language objekt definice modelu
Viz také
- Rozhraní pro programování aplikací (API)
- Aplikační binární rozhraní (ABI)
- Konvence volání
- Vestavěný SQL
- Mangling jména
- Simplified Wrapper and Interface Generator ( SWIG ) -generátor vazby rozhraní z mnoha jazyků do mnoha jazyků, open-source
- Funkce obálky
Reference
externí odkazy
- JTC1/SC22/WG11 - Binding Techniques , norma ISO pro jazykové vazby
- Co je to jazyková vazba?