Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Čo to je:
* opakovane použiteľný kód: Premýšľajte o tom ako na nástroji vopred napísaných funkcií, rutín a dátových štruktúr, ku ktorým je možné pristupovať rôznymi programami bez skopírovania spustiteľného súboru každého programu.
* Dynamické prepojenie: Zdieľané knižnice sa načítajú do pamäte iba vtedy, keď ich program potrebuje, namiesto toho, aby bol staticky prepojený do spustiteľného súboru programu v čase kompilácie. Vďaka tomu je programy menšie a rýchlejšie načítanie.
* Účinnosť: Zdieľané knižnice ukladajú priestor na disku a v pamäti, pretože sú načítané iba raz, aj keď ich používa viac programov. Aktualizácie zdieľanej knižnice sa tiež ľahšie spravujú, pretože je potrebné aktualizovať iba knižnicu, nie všetky programy, ktoré ju používajú.
Ako to funguje:
1. kompilácia: Keď zostavujete program, kompilátor prepojí program s potrebnými zdieľanými knižnicami. Do spustiteľného súboru vloží kód knižnice, ale skôr ukladá odkazy na knižnicu.
2. runtime: Pri spustení programu operačný systém dynamicky načíta zdieľanú knižnicu do pamäte. Program potom má prístup k funkciám a zdrojom poskytovaným knižnicou.
3. Viac programov: Viaceré programy môžu používať rovnakú zdieľanú knižnicu súbežne. Operačný systém riadi prístup k zdrojom knižnice, aby sa predišlo konfliktom.
Prečo je to užitočné:
* Opätovné použitie kódu: Zdieľané knižnice podporujú opätovné použitie kódu a znižujú čas a úsilie rozvoja.
* modularita: Umožňujú rozdelenie programov na menšie, zvládnuteľnejšie komponenty, čo uľahčuje rozvoj a údržbu.
* Efektívnosť zdrojov: Ako už bolo spomenuté, ukladajú priestor a pamäť znížením duplikácie kódu.
* ľahké aktualizácie: Aktualizácia zdieľaných knižníc ovplyvňuje všetky programy, ktoré ich používajú, zjednodušuje údržbu a aktualizácie.
Príklady:
* libc.so: Knižnica C Standard je základná zdieľaná knižnica, ktorú používajú takmer všetky programy Linux.
* libstdc ++. Takže: Štandardná knižnica C ++, nevyhnutná pre programy C ++.
* libx11.so: Používa sa pre grafiku a zobrazenie systému X Window System.
* libgtk-3: Pre nástroj GTK+ Grafické používateľské rozhranie.
Dôležité úvahy:
* závislosť pekla: Zdieľané závislosti knižníc môžu viesť k problémom s kompatibilitou, ak sú rôzne programy potrebné rôzne verzie. Manažéri balíkov ako Apt alebo Yum pomáhajú spravovať tieto závislosti.
* verzia: Zdieľané knižnice majú často čísla verzií na zabezpečenie kompatibility.
* Umiestnenie knižnice: Zdieľané knižnice zvyčajne bývajú v adresároch `/lib` alebo`/usr/lib`.
Pochopenie zdieľaných knižníc je rozhodujúce pre prácu so systémami Linux, pretože sú základnou súčasťou toho, ako aplikácie interagujú s operačným systémom a navzájom.