Jazyková vazba

softwarová knihovna From Wikipedia, the free encyclopedia

Remove ads

Jazykové vazby (anglicky language binding), příp. propojování jazyků je aplikační programové rozhraní poskytující „lepidlový“ kód umožňující programovacímu jazyku nebo systémové službě užití v jiném jazyce, než ve kterém byl původní kód napsán.

Binding běžně znamená mapování jedné věci k druhé. V případě softwarových knihoven se jedná o wrappery, které propojují dva různé jazyky tak, aby knihovna napsána v jednom jazyce mohla být použita v jazyce druhém. Spousta knihoven je psána v systémových programovacích jazycích jako je C či C++. Aby se takové knihovny daly použít v jiném jazyce, běžně vysokoúrovňovějších jako Java, Common Lisp, Python nebo Lua, rozhraní k dané knihovně musí být napsáno v daném jazyce s možností rekompilace kódu daného jazyka v závislosti na potřebných změnách. Většina jazyků umožňuje rozhraní ke svým funkcím, jako například Pythoní ctypes či cffi a uffi Common Lispu.

Například, propojování pro Python se používá, když knihovna psaná v jazyce C má být použita v Pythonu. Dalším příkladem je libsvn napsaná v jazce C, aby poskytla rozhraní pro přístup k repozitáři Subversion software. Pro přístup k Subversion z Javy lze použít libsvnjavahl, která závisí na faktu, že libsvn knihovna již je nainstalována a chová se jakožto most mezi Javou a libsvn, twdy poskytuje API, které volá funkce z libsvn k provedení daného úkonu.

Motivací k tvorbě těchto rozhraní je rozšíření dostupnosti určité knihovny v dalších programovacích jazycích, případně odstranění potřeby reimplementovat a hlavně udržovat knihovnu v dalším jazyce nebo jazycích.

Remove ads

Reference

V tomto článku byl použit překlad textu z článku Language binding na anglické Wikipedii.

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads