„Dynamic Link Library“(DLL) iš anglų kalbos yra išversta kaip „dinaminių nuorodų biblioteka“. DLL yra vykdomasis failas, atliekantis bendros bibliotekos funkcijas. Naudodamas dinaminį susiejimą, DLL suteikia galimybę iškviesti funkciją, kuri yra vykdomojo kodo dalis.
Pats vykdomasis funkcijos kodas yra DLL, kuriame yra keletas sukompiliuotų, susietų ir saugomų funkcijų naudojamuose procesuose. DLL padeda supaprastinti šaltinių ir duomenų dalijimosi procesą. Tai leidžia sistemoje įdiegtoms programoms vienu metu pasiekti daugelį vienos atminties pakrautos DLL kopijos turinio.
Modulinis kodavimas - DLL protėvis
Darbo pradžia kuriant DLL gali būti laikoma tokio programavimo metodo, kaip modulinis kodavimas, atsiradimu. Vienu metu modulinis kodavimas labai palengvino programuotojų darbą, leido kelis kartus nerašyti to paties kodo kiekvienai naujai programai. Visose paprastose programose yra daug panašaus kodo, kurį jie pradėjo kurti modulių pavidalu, įtraukdami juos į naujas programas. Kurį laiką modulinis kodavimas buvo paprasčiausias ir efektyviausias sprendimas ir turėjo tik vieną trūkumą. Prie programų pridėti identiški moduliai užėmė vietos diske, kurio tais laikais buvo nedaug.
Vienintelė problema buvo švaistyti vietos diske vienodiems moduliams, o buvo tik vienos užduoties operacinės sistemos. Atsiradus daugiafunkcinėms operacinėms sistemoms, tokioms kaip „Windows“, iškilo dar viena problema. Dabar programos su moduliais su tuo pačiu kodu, paleidus jas vienu metu, pradėjo ją krauti į RAM, „suvalgydamos“visus išteklius. Verta paminėti, kad tuo metu 500 megabaitų atminties modulis buvo didžiausias egzistavęs ir jis buvo gana brangus. Bet net maksimalus RAM dydis neišgelbėjo vartotojų, programos visiškai įkėlė RAM, todėl neįmanoma normaliai dirbti su kompiuteriu.
DLL atsiradimas
Buvo rastas tinkamas šių problemų sprendimas, jis atrodė taip: moduliai su tuo pačiu kodu nustojo jungtis prie pagrindinės programos, išsaugodami juos atskirame vykdomame faile, prie kurio prireikus galėjo prisijungti bet kuri programa. Būtent šis sprendimas yra DLL failų, dinamiškai susiejančių su bet kuria programa, pagrindas. Dabar šiose bibliotekose galima laikyti vykdomąjį kodą funkcijų ar procedūrų, grafikos ir net vaizdo įrašų pavidalu, o tai leido sutaupyti vietos diske ir RAM išteklius.
Vienintelis dinaminių nuorodų bibliotekų trūkumas yra papildomo laiko švaistymas programos įkėlimui. Be šio nedidelio trūkumo, DLL susideda tik iš privalumų. Todėl šios bibliotekos yra plačiai naudojamos ir beveik visose programose naudojamos programuotojų.