Knihovna (programování)

Library (z anglického  library ) v programování  - sbírka podprogramů nebo objektů používaných k vývoji softwaru (softwaru). Z hlediska operačního systému (OS) a aplikačního softwaru se knihovny dělí na dynamické a statické.

Pojem "knihovna podprogramů" byl zřejmě mezi prvními zmíněnými Wilksem M. , Wheelerem D. , Gill S. jako jednu z forem organizování výpočtů na počítači [1] [2] . Na základě toho, co bylo uvedeno v jejich knize, byla knihovna chápána jako soubor „krátkých, předem připravených programů pro jednotlivé, často se vyskytující (standardní) výpočetní operace“ [3] .

Knihovny pro kompilované jazyky

Dynamické knihovny

Dynamická knihovna je soubor, který obsahuje strojový kód . Načteno do paměti procesu programovým zavaděčem operačního systému buď při vytvoření procesu, nebo na žádost již běžícího procesu , tedy dynamicky. [čtyři]

Přípony názvů souborů dynamických knihoven v různých operačních systémech
Rozšíření OS Dešifrování Poznámka
so UNIX Angličtina  s sdíleno o objektu
dylib Operační Systém Mac Angličtina  dy namic lib rary
library OS Amiga Uloženo v logickém svazku Libs :
dll OS Microsoft Windows / 2 Angličtina  d ynamický l inkoust l knihovna

V závislosti na účelu existují:

Při psaní programu stačí, aby programátor sdělil překladateli ( překladači nebo interpretru ) cestu ke knihovně a název funkce . Do programu nebude zahrnut zdrojový text funkce ani její spustitelný kód.

výhody:

nedostatky:

Statické knihovny

Statická knihovna je objektový soubor ve formě souboru (často může být dodán spolu se zdrojovým kódem), jehož kód je selektivně nebo úplně vložen do programu ve fázi propojení.

Knihovny distribuované jako zdrojový kód převádí kompilátor na objektové soubory . Linker [ 6] pak zkombinuje soubory objektů knihovny a objektové soubory vašeho programu do jednoho spustitelného souboru.

Například ve zdrojových textech jsou distribuovány:

Knihovny distribuované jako objektové soubory jsou připraveny k propojení. Linker spojuje objektové soubory knihoven a objektové soubory vašeho programu během vytváření spustitelného souboru.

Přípony objektových souborů statických knihoven v různých operačních systémech .

Rozšíření OS
" a" UNIX
" lib" Microsoft Windows

Standardní knihovny mnoha kompilovaných programovacích jazyků ( Fortran , Pascal , C , C++ a další) jsou distribuovány jako objektové soubory.

výhody:

nedostatky:

Knihovny pro tlumočené jazyky

Knihovna je soubor obsahující kód v interpretovaném jazyce nebo bytekód pro virtuální stroj .

Například knihovny pro jazyk Python mohou být distribuovány buď jako soubory se zdrojovým kódem (přípona „ py“), nebo jako soubory s bajtovým kódem [7] (přípona „ pyc“, písmeno „c“ z angličtiny  kompilováno ). Jednou z knihoven pro jazyk Python je Tkinter . [osm]

Viz také

Poznámky

  1. Wilkes MV, Wheeler DJ, Gill S. Příprava programů pro elektronický digitální počítač. — Addison-Wesley, 1951.
  2. Wilks M., Wheeler D., Gill S. "Programování pro elektronické počítací stroje." Nakladatelství zahraniční literatury, 1953
  3. Volchenskova, Nadezhda Ivanovna, Technologie multimachine implementace a podpory života knihoven podprogramů výpočetní matematiky v jazyce Fortran, abstrakt k disertační práci, 1984 . Získáno 9. října 2012. Archivováno z originálu 3. května 2012.
  4. Savelyev A.M. APLIKACE DYNAMICKÉ KNIHOVNY TRANSLIB PRO VÝPOČET DOPRAVNÍCH VLASTNOSTÍ REAGUJÍCÍCH SMĚSÍ PLYNŮ  (rus.)  // Journal "Aircraft Engines". — 2019.
  5. Robert Elder. Rozhraní jsou základním konceptem při vývoji softwaru . — 2020. Archivováno 6. března 2021.
  6. jsmanifest. Linker v JavaScriptu . — 2020. Archivováno 11. září 2020.
  7. Kompilace pythonových souborů Archivováno 6. února 2021 na Wayback Machine . Dokumentace k Pythonu na docs.python.org.
  8. BUKHAROV T.A., NAFIKOVÁ A.R., MIGRANOVA E.A. Přehled programovacího jazyka PYTHON a jeho knihoven  (ruština)  // COLLOQUIUM-JOURNAL. — 2019.

Literatura