Skip to main content

Co je to statická knihovna?

Statická knihovna je počítačový archiv, který obsahuje skupinu souvisejících souborů pro snadné propojení do programů.Obsah této knihovny jsou obvykle soubory strojového kódu, které lidé nečiní.Tyto soubory strojového kódu jsou obvykle generovány z kompilace kódu nebo podobného procesu.Většina operačních systémů má standardní rozšíření pro statické knihovny, takže je snadno identifikovatelné bez ohledu na velikost nebo obsah.

Dva různé druhy počítačových knihoven jsou statické a dynamické.Statická knihovna je flexibilnější než dynamická knihovna, protože její přesná cesta je irelevantní pro spustitelný soubor, který ji používá.Statické knihovny jsou propojeny do spustitelného souboru a poté je lze v případě potřeby odstranit, protože jejich obsah byl zahrnut do konečného programu.Dynamická knihovna nelze odstranit, protože její obsah je načten jako spustitelné běhy, takže její umístění vzhledem k spustitelnému a v operačním systému jsou důležitá.Statické propojení umožňuje, aby se knihovna přesunula nebo byla znovu použita bez obav o absolutní cesty umístění.V C ++ se statické knihovny často chovají jako velké soubory objektů a mohou být propojeny do spustitelných souborů stejným způsobem, jakým mohou být soubory objektů a poté odstraněny bez újmy s programem.Ačkoli je často možné vzdát statické knihovny, jsou často užitečné z hlediska organizace.Pro uživatele i vývojáře je obvykle snazší mít jeden soubor obsahující související materiál, než mít mnoho malých souborů.Mnoho vývojářů staví statické knihovny speciálně pro tento organizační prospěch.

Budování statické knihovny je mnohem jednodušší než budování dynamické knihovny.Obsah statických knihoven není spojen dohromady, protože se neočekává, že budou běžet sami, takže jednoduchý archiver je obvykle dostačující k jejich vytvoření.Vytvoření statické knihovny, která se v sobě správně nepropojuje, není ze své podstaty nebezpečné, pokud je knihovna propojena s jakýmikoli jinými externími soubory, které mohou být nutné.Knihovna může záviset na externí skupině souborů objektů nebo jedna knihovna může záviset na jiné.Používání a organizace statických knihoven je často osobní volbou ze strany programátora spíše než požadavek, ačkoli jejich vlastní mobilita je často činí žádoucí volbou.