Programkönyvtár
A programkönyvtár tulajdonképpen egy gépi kódra lefordított fájl, ami egy adott program különböző metódusait / procedúráit / függvényeit, adatait és erőforrásait tartalmazza. Ezeket az elemeket a program meg tudja hívni, és fel tudja használni a futása során. A könyvtárakkal meg lehet valósítani a moduláris programozást, ezáltal a program kódja áttekinthetőbb, és a végeredmény egyszerűbben frissíthető lesz. További előnye, hogy egy adott programkönyvtárat több program is igénybe vehet, mivel az egy külön fájlban tárolódik, amelyet több felhasználói program is igénybe vehet. Manapság a legtöbb funkciót és erőforrást az operációs rendszerek ilyen könyvtárakban tárolják, ezért a modernebb programok nagy része valójában csak ezekből építkezve működik, és végzi el feladatát.
Fajták
[szerkesztés]A programkönyvtárakat attól függően, hogy a programozás során hogyan/mikor kapcsolódnak be a folyamatba, 3 csoportba osztjuk:
- Statikus programkönyvtárak: Eredetileg csak ilyenek léteztek. Ezeket fordítási időben kapcsolja a linker a főprogramhoz, ezáltal létrehozva egy futtatható állományt és egy, vagy több programkönyvtárat, amelyek a főprogram által elérhetők egy adott időben. A futás alatt azonban a könyvtárak más programok által nem használhatók.
- Megosztott programkönyvtárak: Tulajdonképpen azokat a programkönyvtárakat jelöljük így, amelyeket akár egy időben is használhat több program. Ezt úgy valósítják meg rendszerint, hogy minden program a betöltődésekor, ami felhasználna egy adott könyvtárat, létrehoz egy saját példányt abból maga számára, és ahhoz fér hozzá.
- Dinamikus programkönyvtárak: Betöltés közben, vagy futásidőben kapcsolt programkönyvtárakat hívunk így. Magyarul, akkor töltődik be egy ilyen fájl a memóriába, amikor egy program meghívja őt. Rendszerint az operációs rendszer erőforrás-menedzsmentje kapcsolja össze a programmal az adott könyvtárat. Manapság ezek a leggyakoribbak, ilyeneket jelöl Windows operációs rendszereken a *.DLL kiterjesztés is.