json="{"targeting":{"kw":["DLL"],"cms":4613457}}"

DLL-Datei - was ist das?

DLL ist das Akronym für "Dynamic Link Library" in Windows-Betriebssystemen und bezeichnet sinngemäß eine dynamische Programmbibliothek. Die DLL-Dateien können Daten, Ressourcen oder auch Maschinencode in beliebiger Kombination enthalten. Was eine DLL-Datei im Detail ist und welche Vorteile diese für Windows bringen, lesen Sie in diesem tipps+tricks-Beitrag.

Was ist eine DLL?

Die Betriebssystemfunktionalität in Windows wird größtenteils über DLLs (Dynamic Link Libraries) bereitgestellt. Eine DLL-Datei enthält dabei eine Bibliothek von Funktionen und zusätzlichen Informationen, auf die ein Windows-Programm zugreifen kann. In Windows ist die Dateinamenserweiterung für eine DLL-Datei .dll. Angenommen Sie starten ein Programm, so werden Links zu notwendigen DLL-Dateien erstellt. Bei der Erstellung eines statischen Links, werden DLL-Dateien so lange verwendet, bis das Programm beendet wird. Wenn hingegen ein dynamischer Link erstellt wird, werden die DLL-Dateien nur bei Bedarf verwendet. Hierdurch ergibt sich der Vorteil, dass Ressourcen wie Festplattenspeichern und RAM effizienter genutzt werden können. Betriebssystem und Programme können so schneller geladen und ausgeführt werden und nehmen weniger Festplattenspeicherplatz auf dem Computer ein.

Das Besondere ist, dass eine DLL-Datei von mehreren Programmen verwendet werden kann. Die in einer DLL bereitgestellte Funktionalität kann sogar von unterschiedlichen Programmen gleichzeitig verwendet werden. Für Sie agieren DLL-Dateien meistens im Hintergrund. Das heißt, dass Sie weder diese Dateien öffnen noch damit interagieren müssen.

Vorteile von DLLs

Der primäre Vorteil von DLL-Dateien ist, den vom Programmen benötigten Speicherplatz zu reduzieren. Code und Daten liegen nicht doppelt auf Ihrer Festplatte, sondern eine einzelne DLL-Datei kann von mehreren Programmen gleichzeitig genutzt werden, was den Ressourcenverbrauch wesentlich effizienter gestaltet. Mithilfe von DLLs wird die Datei nur einmal im Hauptspeicher geladen und kann anschließend von mehreren Programmen genutzt werden, die dieselbe Programmbibliothek benötigen.

Ein weiterer Vorteil ist die vereinfachte Bereitstellung und Installation von DLLs. Wenn ein Teil des Maschinencodes geändert werden muss - aufgrund etwaiger Schwachstellen oder Aktualisierungen - muss nicht jedes Programm einzeln aktualisiert werden, das mit der DLL verknüpft ist. Es genügt, einfach den Code innerhalb der DLL anzupassen und alle Programme können automatisch auf die aktuellste Version zugreifen. Ein gesamtes Softwarepaket kann so bereits durch die Aktualisierung separater DLLs aktualisiert werden.

Letztendlich ist noch die Unterstützung einer modularen Architektur zu nennen. Das bedeutet, dass mittels DLLs Programme entwickelt werden können, die eine modulare Architektur erfordern. Der modulare Ansatz verfolgt die systematische Zerlegung von Softwarepaketen in logische Teilblöcke - eben diese Module. Dadurch können größere Strukturen übersichtlicher gehalten und besser kontrolliert werden.

Schwächen von DLLs

Sie hatten eventuell schonmal ein Problem mit einer fehlenden DLL-Datei. Aber auch andere Konflikte können auftreten. Stellen Sie sich vor, zwei Programme nutzen die gleiche DLL-Datei. Ein Programm nutzt aber eine ältere Version, um seine voll Funktionalität zu gewährleisten. Falls Sie also die aktuelle Version der DLL-Datei haben, kann es zu einem DLL-Konflikt kommen, weil die Programme unterschiedliche Versionen der DLL erwarten bzw. voraussetzen. Häufig kann dieser Konflikt aber bereits durch das manuelle Einfügen der DLL im Programmordner gelöst werden.

Eine andere Schwachstelle ist z.B. DLL-Hijacking oder die bösartige Nutzung von DLL-Injection. Hier finden Sie weitere Informationen über eine DLL-Lücke in Office und Co.

Mehr zum Thema: