Dynaaminen linkkikirjasto (DLL) käännetään englannista "dynaamisen linkin kirjastoksi". DLL on suoritettava tiedosto, joka suorittaa jaetun kirjaston toiminnot. Dynaamisen linkityksen kautta DLL tarjoaa tavan kutsua toiminto, joka on osa suoritettavaa koodia.
Suoritettava toimintokoodi itsessään on DLL: ssä, joka sisältää useita käännettyjä, linkitettyjä ja tallennettuja toimintoja käytetyissä prosesseissa. DLL yksinkertaistaa lähteiden ja tietojen jakamisprosessia. Sen avulla järjestelmään asennetut sovellukset voivat käyttää muistiin ladatun DLL: n yhden kopion useita sisältöjä samanaikaisesti.
Modulaarinen koodaus - DLL-tiedostojen esi-isä
Työn alkua DLL: n luomiseksi voidaan pitää sellaisen ohjelmointimenetelmän kuin modulaarisen koodauksen syntymisenä. Kerran modulaarinen koodaus helpotti suuresti ohjelmoijien työtä, jolloin oli mahdollista olla kirjoittamatta samaa koodia kullekin uudelle ohjelmalle useita kertoja. Kaikki yksinkertaiset ohjelmat sisältävät paljon samanlaista koodia, jonka he alkoivat suunnitella moduulien muodossa ja lisätä ne uusiin sovelluksiin. Jonkin aikaa modulaarinen koodaus oli yksinkertaisin ja tehokkain ratkaisu, ja sillä oli vain yksi haittapuoli. Ohjelmiin lisätyt identtiset moduulit vievät levytilaa, joka oli niukkaa tuolloin.
Levytilan tuhlaaminen samanlaisille moduuleille oli ainoa ongelma, kun taas vain yhden tehtävän käyttöjärjestelmiä. Monien tehtävien käyttöjärjestelmien, kuten Windowsin, myötä syntyi toinen ongelma. Nyt ohjelmat, joissa on saman koodin moduulit, aloitettiin samanaikaisesti käynnistettäessä ladata RAM-muistiin "syömällä" kaikki resurssit. On syytä huomata, että tuolloin 500 megatavun muistimoduuli oli olemassa oleva suurin ja se oli melko kallista. Mutta edes RAM-muistin enimmäiskoko ei tallentanut käyttäjiä, ohjelmat lataivat RAM-muistin kokonaan, mikä teki normaalista tietokoneen käytöstä mahdotonta.
DLL-tiedostojen syntyminen
Näihin ongelmiin löydettiin kunnollinen ratkaisu, se näytti tältä: saman koodin moduulit lakkasivat telakoitumasta pääohjelman kanssa, mikä tallensi ne erilliseen suoritettavaan tiedostoon, johon pääsi mihin tahansa sovellukseen tarpeen mukaan. Juuri tämä ratkaisu muodostaa perustan DLL-tiedostoille, jotka linkittyvät dynaamisesti mihin tahansa ohjelmaan. Nyt näihin kirjastoihin on mahdollista tallentaa suoritettava koodi toimintojen tai menettelyjen, grafiikan ja jopa videoiden muodossa, mikä mahdollisti levytilan ja RAM-resurssien säästämisen.
Dynaamisten linkkikirjastojen ainoa haittapuoli on ohjelman lataamisen ylimääräisen ajan tuhlaaminen. Tämän pienen haittapuolen lisäksi DLL koostuu pelkästään eduista. Siksi näitä kirjastoja käytetään laajasti, ja ohjelmoijat käyttävät niitä lähes kaikissa sovelluksissa.