Dynamic Link Library (DLL) oversættes fra engelsk som "dynamisk linkbibliotek". En DLL er en eksekverbar fil, der udfører funktionerne i et delt bibliotek. Gennem sin dynamiske sammenkædning giver DLL en måde at kalde en funktion på, der er en del af den eksekverbare kode.
Selve den eksekverbare funktionskode er i en DLL, som indeholder flere kompilerede, sammenkædede og lagrede funktioner i de processer, der bruges. DLL tjener til at forenkle processen med deling af kilder og data. Det giver applikationer, der er installeret på systemet, adgang til flere indhold af en enkelt kopi af DLL'en, der er indlæst i hukommelsen på samme tid.
Modulær kodning - forfader til DLL'er
Begyndelsen af arbejdet med oprettelsen af en DLL kan betragtes som fremkomsten af en sådan programmeringsmetode som modulær kodning. På en gang letter modulær kodning i høj grad programmørernes arbejde, hvilket gør det muligt ikke at skrive den samme kode for hvert nye program flere gange. Alle enkle programmer indeholder en masse lignende kode, som de begyndte at designe i form af moduler og tilføjede dem til nye applikationer. I et stykke tid var modulær kodning den enkleste og mest effektive løsning og havde kun en ulempe. Identiske moduler, der blev føjet til programmer, tog diskplads, hvilket var knappe i disse dage.
Problemet med at spilde diskplads på identiske moduler var det eneste, mens der kun var single-tasking-operativsystemer. Med fremkomsten af multitasking-operativsystemer som Windows opstod der et andet problem. Nu begyndte programmer med moduler med samme kode, når de blev lanceret samtidigt, at indlæse den i RAM og "spise" op alle ressourcerne. Det er værd at bemærke, at et 500 megabyte hukommelsesmodul på det tidspunkt var det største, der eksisterede, og det var ret dyrt. Men selv den maksimale størrelse på RAM gemte ikke brugerne, programmerne indlæste RAM fuldstændigt, hvilket gjorde normal computerdrift umulig.
Fremkomsten af DLL'er
En anstændig løsning på disse problemer blev fundet, det så ud som dette: moduler med den samme kode ophørte med at dockes med hovedprogrammet og gemte dem i en separat eksekverbar fil, som kunne fås adgang til af enhver applikation efter behov. Det er denne løsning, der danner grundlaget for DLL'er, der dynamisk linker til ethvert program. Nu er det muligt at gemme eksekverbar kode i disse biblioteker i form af funktioner eller procedurer, grafik og endda videoer, hvilket gjorde det muligt at spare diskplads og RAM-ressourcer.
Den eneste ulempe ved dynamiske linkbiblioteker er spild af ekstra tid med at indlæse programmet. Ud over denne mindre ulempe består DLL kun af fordele. Derfor bruges disse biblioteker i vid udstrækning og bruges af programmører i næsten alle applikationer.