Bitte erläutern Sie die grundlegenden Konzepte einer DLL-Datei und deren Registrierung in Windows

1776
Hennes

Was ist eine DLL? Was macht es in unserem Computer? Warum müssen wir es registrieren? Ist die DLL-Registrierung ein gemeinsamer Prozess eines einzelnen Befehls? Ist das während der Installation einer Software installiert / registriert?

7
Ja, es ist eine legitime - wenn auch sehr grundlegende - Frage. Grundlegende Fragen stimmen jedoch nicht. vor 14 Jahren 5
Möglicherweise haben Sie einen Virus. Haben Sie vollständige Scans durchgeführt? Und was genau ist der Registrierungsfehler, den Sie sehen? goblinbox vor 12 Jahren 0
Up gewählt, weil es eine grundlegende Frage ist, auf die ich keine Antwort wusste und ich im Büro als "IT-Typ" betrachtet werde Miller86 vor 8 Jahren 0

5 Antworten auf die Frage

7
0xA3

DLLs sind Dynamic Link Libraries:

Dynamic Link Library oder DLL ist die Implementierung des Shared Library-Konzepts von Microsoft in den Betriebssystemen Microsoft Windows und OS / 2. Diese Bibliotheken haben normalerweise die Dateierweiterung DLL, OCX (für Bibliotheken, die ActiveX-Steuerelemente enthalten) oder DRV (für ältere Systemtreiber).

Siehe Dynamic-Link-Bibliothek in Wikipedia.

4
Tobias Langner

dll steht für "Dynamic Link Library". Wie der Name schon sagt, handelt es sich dabei um eine Sammlung von Funktionen (Bibliothek), die zur Laufzeit dynamisch mit Ihrem Programm verknüpft wird (verglichen mit statischer Verknüpfung). Im Allgemeinen enthält dll nur Funktion. "Moderne" .NET-DLL enthält normale .NET-Objekte.

DLLs können registriert werden. Dieser Prozess (zB regsvr32 N: \ ame.dll) macht diese DLL für das Betriebssystem bekannt. Alternativ kann die DLL im selben Verzeichnis wie die ausführbare Datei oder in einem Verzeichnis im Pfad abgelegt werden. Eine zweite Alternative ist das Laden der DLL über die Windows-API (LoadLibrary ()).

Normalerweise registrieren Sie die DLL während der Installation oder kopieren Sie sie in das gleiche Verzeichnis wie die ausführbare Datei.

3
Fredrik Mörk

Eine DLL ist eine Bibliothek von Funktionen, die von anderen Programmen verwendet werden können. Nicht alle DLLs müssen registriert werden. Dies gilt nur für diejenigen, die ihre Funktionalität als COM- Objekte offenlegen .

DLLs können von vielen Orten kommen; Einige von ihnen bilden Windows als solches, andere wiederum sind Bestandteil verschiedener Software, die Sie installieren. Microsoft Office registriert beispielsweise DLLs, die COM-Schnittstellen bereitstellen, die es anderen Anwendungen ermöglichen, Funktionen aus den Office-Anwendungen zu integrieren.

2
LawrenceC

Ein Programm besteht aus einer Reihe von Anweisungen. Normalerweise liest und führt der Computer die Anweisungen nacheinander in Reihe aus.

Das ist großartig, aber die meisten Programme erledigen dieselbe Aufgabe zu verschiedenen Zeiten oder dieselbe Aufgabe mit geringfügigen Abweichungen zu verschiedenen Zeiten. Anstatt die Anweisungen dieser Task immer wieder neu zu schreiben, besteht eine für Programmierer verfügbare Option darin, diese Anweisungen in eine Subroutine oder Funktion zu packen .

Anstatt die Anweisungen immer wieder zu kopieren, fordern Sie das Programm auf , diese Funktion aufzurufen, und sparen Platz. Durch die Verknüpfung wird diese Funktion an alle Stellen gebunden, an denen sie im Programm aufgerufen wird, wenn das Programm erstellt wird. Das Programm ist auch einfacher zu warten, da Sie es ändern können, wenn Sie diese Aufgabe ändern möchten, und zwar an einer Stelle und nicht im gesamten Programm.

Die meisten Programme verfügen über Funktionen, die in diesem Programm verwendet werden. Sie sind Teil des Programms und werden nur mit diesem Programm geladen.

Was aber, wenn Sie eine großartige Funktion haben (z. B. eine, die ein Datum annimmt und den Wochentag zurückgibt) und sie in vielen verschiedenen Programmen verwenden möchten? Dynamische Linkbibliotheken oder DLL-Dateien in Windows erlauben dies. Es wird dynamisches Verknüpfen genannt , da das Verknüpfen zur Laufzeit beim Laden des Programms und nicht beim Erstellen beim Kompilieren erfolgt (in diesem Fall wird es als statisches Verknüpfen bezeichnet ).

Sie können die Funktion in einer bestimmten DLL packen und dann Ihrem Hauptprogramm mitteilen, dass Sie verwenden möchten, oder Funktionen aus dieser DLL importieren .

Wenn Sie nun die Funktionsweise dieser Funktion aktualisieren oder Fehler beheben möchten, befinden Sie sich in einer noch besseren Situation, da Sie lediglich die Funktionen in einer Datei ändern müssen und jedes Programm, das sie verwendet, automatisch aktualisiert wird. Der Nachteil ist nun, dass Ihr Programm von einer anderen Datei abhängt, um ordnungsgemäß zu funktionieren. Normalerweise überwiegen die Vorteile für alle Aspekte außer den Notfallwiederherstellungsprogrammen, die funktionieren müssen, wenn nichts von der Festplatte geladen werden kann.

0
Tim Scarborough

Lassen Sie uns rundll32.exe nicht vergessen. Mit diesem Windows-Dienstprogramm können Sie eine in eine DLL exportierte Funktion aufrufen. http://support.microsoft.com/kb/164787