Jazyková vazba - Language binding
v programování a softwarový design, a vazba je aplikační programovací rozhraní (API), který poskytuje kód lepidla speciálně vyrobené, aby a programovací jazyk použít cizího knihovna nebo operační systém služba (služba, která není pro daný jazyk nativní).
Vlastnosti
Vazba obecně odkazuje na mapování jedné věci na druhou. V kontextu softwarové knihovny, vazby jsou souhrnné knihovny které překlenují dva programovací jazyky, takže knihovna napsaná pro jeden jazyk může být použita v jiném jazyce.[1] Mnoho softwarových knihoven je napsáno systémové programovací jazyky jako C nebo C ++. Použít takové knihovny z jiného jazyka, obvykle z vyšší úroveň, jako Jáva, Společný Lisp, Systém, Krajta nebo Lua, vazba ke knihovně musí být vytvořena v daném jazyce, případně vyžaduje překompilovat kód jazyka, v závislosti na rozsahu potřebné úpravy.[2] Většina jazyků však nabízí a rozhraní cizí funkce, jako jsou Pythonovy a OCaml je typy
, a Vložitelný Common Lisp je cffi
a uffi
.[3][4][5]
Například vazby Pythonu se používají, když se má z Pythonu použít existující knihovna C, napsaná pro nějaký účel. Dalším příkladem je libsvn
který je napsán v C a poskytuje API pro přístup k Podvracení softwarové úložiště. Pro přístup k Subversion z kódu Java, libsvnjavahl
lze použít, což záleží na libsvn
instalován a funguje jako most mezi jazykem Java a libsvn
, čímž poskytuje API, které vyvolává funkce z libsvn
dělat práci.[6]
Mezi hlavní motivy vytváření vazeb knihoven patří opětovné použití softwaru, snížit reimplementaci knihovny v několika jazycích a obtížnost implementace některých algoritmy efektivně v některých jazycích vysoké úrovně.
Runtime prostředí
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Listopad 2016) |
Objektové modely
- Společná architektura zprostředkovatele požadavků na objekty (CORBA) - napříč platformami -jazykový model
- Komponentní objektový model (COM) - Microsoft Windows pouze cross-language model
- Distribuovaný komponentový objektový model (DCOM) - rozšíření umožňující COM pracovat v sítích
- Cross Platform Platform Component Object Model (XPCOM ) - Aplikace Mozilla napříč platformami Modelka
- Společná jazyková infrastruktura – .NET Framework napříč platformami -jazykový model
- Freedesktop.org D-Bus - otevřeno napříč platformami -jazykový model
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Listopad 2016) |
Virtuální stroje
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Listopad 2016) |
Přenášení
- Přenosný objekt – napříč platformami - definice jazykového objektového modelu
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Listopad 2016) |
Viz také
![]() |
- Aplikační programovací rozhraní (API)
- Binární rozhraní aplikace (ABI)
- Konvence volání
- Vestavěný SQL
- Mangling jména
- Zjednodušený obal a generátor rozhraní (LOK ) - generátor vazby rozhraní z mnoha jazyků do mnoha jazyků, open-source
- Funkce obálky
Reference
- ^ „Dodatek A. Vytvoření jazykové vazby pro káhiru“. Cairographics.org. Citováno 2014-04-02.
- ^ „Standardy, API, rozhraní a vazby“. Acm.org. Archivovány od originál dne 2015-01-16. Citováno 2014-04-02.
- ^ "ctypes - cizí knihovna funkcí pro Python". Dokumentace k Pythonu v3.8.3. Docs.python.org. Citováno 2020-06-04.
- ^ Hickey, Jason; Madhavapeddy, Anil; Minsky, Yaron (2013). „Real Worl OCaml, Kapitola 19. Rozhraní cizích funkcí“. realworldocaml.org. Citováno 2015-07-19.
- ^ „Úvod - Uživatelská příručka CFFI“. Common-lisp.net. Citováno 2014-04-02.
- ^ "Subversion JavaHL FAQ". Subclipse.tigris.org. 18. 06. 2013. Citováno 2014-04-02.
externí odkazy
- JTC1 / SC22 / WG11 - Vazební techniky, standard ISO pro jazykové vazby
- Co je to jazyková vazba?
![]() | Tento programovací jazyk související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |