Pourquoi convertir EXE en DLL ?
L'EXE et le .dll utilisent tous deux le format de conteneur Windows PE, mais ils servent des objectifs différents. Un EXE possède un point d'entrée autonome et s'exécute comme son propre processus ; une DLL expose des fonctions exportées nommées que d'autres programmes appellent au moment de l'exécution. Convertir l'un en l'autre nécessite de déclarer des exports, de restructurer le modèle d'entrée et de compiler à nouveau à partir du source - des opérations qui ne peuvent pas être effectuées sur un binaire fini.
Comment convertir EXE en DLL
Visual Studio (nécessite le code source) APP
Changez le type de projet en DLL dans Visual Studio, ajoutez les fonctions exportées et recompilez - c'est la méthode correcte pour produire une .dll fonctionnelle à partir de ce qui était un projet EXE.
GCC / MinGW (nécessite le code source) FREE
Sur Linux ou avec MinGW sur Windows, ajoutez les déclarations de fonctions exportées au source et recompilez avec le drapeau de bibliothèque partagée (shared-library) pour produire une .dll.
Programmes qui convertissent EXE
À propos de ces formats
Un fichier EXE est un programme exécutable Windows. Sous Windows, double-cliquez dessus pour le lancer. Sur Mac ou Linux, utilisez CrossOver ou Wine - les EXE ne s'exécutent pas nativement…
Ouvrir les détails de .EXE →Une DLL (Dynamic Link Library) est un fichier de bibliothèque Windows contenant du code compilé que les programmes chargent pendant leur exécution ; ce n'est donc pas un fichier que l'on…
Ouvrir les détails de .DLL →Qualité et points de vigilance
- Les sites prétendant convertir un EXE en DLL ne font que renommer le fichier ou sont trompeurs - le résultat n'est pas une bibliothèque partagée fonctionnelle.
- L'EXE et la DLL partagent le conteneur binaire PE, ce qui explique pourquoi la question se pose, mais leurs modèles d'entrée et leurs exigences en matière de fonctions exportées sont fondamentalement différents.
- Sans code source, l'alternative pratique consiste à lancer l'EXE en tant que processus enfant et à communiquer via des tubes (pipes) ou des sockets plutôt que d'essayer de l'appeler comme une bibliothèque.