Warum EXE in DLL konvertieren?
Sowohl EXE als auch .dll verwenden das Windows PE-Containerformat, dienen aber unterschiedlichen Zwecken. Eine EXE hat einen eigenständigen Einstiegspunkt und läuft als eigener Prozess; eine DLL stellt benannte exportierte Funktionen bereit, die andere Programme zur Laufzeit aufrufen. Die Umwandlung der einen in die andere erfordert das Deklarieren von Exporten, die Umstrukturierung des Einstiegsmodells und die Neukompilierung aus dem Quellcode - Operationen, die an einer fertigen Binärdatei nicht durchgeführt werden können.
Wie man EXE in DLL konvertiert
Visual Studio (erfordert Quellcode) APP
Ändern Sie den Projekttyp in Visual Studio auf DLL, fügen Sie exportierte Funktionen hinzu und erstellen Sie das Projekt neu - dies ist der korrekte Ansatz, um aus einem EXE-Projekt eine funktionierende .dll zu erstellen.
GCC / MinGW (erfordert Quellcode) FREE
Fügen Sie unter Linux oder mit MinGW unter Windows Deklarationen für exportierte Funktionen zum Quellcode hinzu und erstellen Sie das Projekt mit dem Flag für Shared-Libraries neu, um eine .dll zu erzeugen.
Programme, die EXE konvertieren
Über diese Formate
Eine EXE-Datei ist ein ausführbares Windows-Programm. Unter Windows startet man sie per Doppelklick. Auf dem Mac oder unter Linux kann man EXE-Dateien mit CrossOver oder Wine ausführen -…
.EXE-Details öffnen →Eine DLL (Dynamic Link Library) ist eine Windows-Bibliotheksdatei, die kompilierten Code enthält, den Programme während des Betriebs laden; sie ist also nicht etwas, das man per Doppelklick…
.DLL-Details öffnen →Qualität & worauf zu achten ist
- Websites, die behaupten, EXE in DLL umzuwandeln, benennen entweder nur die Datei um oder sind irreführend - das Ergebnis ist keine funktionierende Shared-Library.
- Sowohl EXE als auch DLL teilen sich den PE-Binärcontainer, weshalb die Frage oft aufkommt, aber ihre Einstiegsmodelle und Anforderungen an exportierte Funktionen sind grundlegend verschieden.
- Ohne Quellcode ist die praktische Alternative, die EXE als Kindprozess zu starten und über Pipes oder Sockets zu kommunizieren, anstatt zu versuchen, sie als Bibliothek aufzurufen.