Eine Dynamic Link Library (DLL) ist eine Bibliothek, die Code und Daten enthält, die von mehr als einem Programm gleichzeitig genutzt werden können. DLLs sind ein entscheidender Bestandteil des Windows-Betriebssystems, da sie Anwendungen das Teilen von Code und Ressourcen ermöglichen, wodurch Code-Duplizierung und Speicherverbrauch reduziert werden. Anstatt dass jedes Programm denselben Code enthält, können alle auf den gemeinsam genutzten Code innerhalb der DLL zugreifen. Dies ermöglicht auch einfachere Updates und Wartung, da Änderungen in der DLL in allen Anwendungen widergespiegelt werden, die sie verwenden. DLLs können Funktionen, Klassen, Variablen und Ressourcen wie Icons und Bitmaps enthalten. Sie werden typischerweise zur Implementierung gängiger Funktionalitäten verwendet, wie z.B. Drucken, Netzwerkkommunikation oder Datenbankzugriff. Wenn ein Programm eine Funktion in einer DLL aufruft, lädt das Betriebssystem die DLL in den Speicher (falls sie noch nicht geladen ist) und führt die Funktion aus. DLLs können implizit (beim Programmstart) oder explizit (während der Programmausführung) geladen werden. Diese Modularität ist fundamental für die Architektur moderner Windows-Anwendungen.