Dynamic Link Libraries, eller DLL, är en samling rutiner och programkod som kan användas av flera program samtidigt på ditt Windows-operativsystem. Dessa rutiner, lagrade i form av DLL-filer, innehåller all slags kod och data som flera program kan använda samtidigt. De skiljer sig från programfiler (EXE-filer) i det att DLL-filer inte kan köras direkt, utan är länkade till olika program och körs igenom dem.
Ett av de främsta syftena med DLL-filer är att skapa ett mönster för återanvändbar kod. Istället för att varje program ska inkludera inbyggd kod för varje funktion, kan den hänvisa till en DLL-fil som innehåller den nödvändiga koden. Detta sparar både tid och minne, eftersom varje program inte behöver ha sin egen kopia av varje rutin. Ett annat viktigt fördel med DLL:er är att de kan användas för att tillhandahålla en enkel mekanism för att lägga till funktionalitet till en applikation efter att den har skickats eller distribuerats.
Men det finns också utmaningar med DLL-filer. Den mest bekanta är kanske ”DLL-helvetet”, det vill säga problem som uppstår när flera program kräver olika versioner av samma DLL-fil. Detta kan leda till konflikter och fel i programmet. För att lösa detta problem har Microsoft introducerat konceptet med sidosättning, som gör det möjligt för flera versioner av samma DLL att köras samtidigt.