¿Por qué convertir EXE a DLL?
Tanto el EXE como el .dll utilizan el formato de contenedor Windows PE, pero sirven para propósitos diferentes. Un EXE tiene un punto de entrada independiente y se ejecuta como su propio proceso; una DLL expone funciones exportadas con nombre que otros programas llaman en tiempo de ejecución. Convertir uno en otro requiere declarar exportaciones, reestructurar el modelo de entrada y recompilar desde el código fuente - operaciones que no se pueden realizar en un binario ya compilado.
Cómo convertir EXE a DLL
Visual Studio (requiere código fuente) APP
Cambie el tipo de proyecto a DLL en Visual Studio, añada las funciones exportadas y vuelva a compilar - este es el enfoque correcto para producir una .dll funcional a partir de lo que era un proyecto EXE.
GCC / MinGW (requiere código fuente) FREE
En Linux o con MinGW en Windows, añada las declaraciones de funciones exportadas al código fuente y vuelva a compilar con el flag de biblioteca compartida para producir una .dll.
Programas que convierten EXE
Acerca de estos formatos
Un archivo EXE es un programa ejecutable de Windows. En Windows, haga doble clic para ejecutarlo. En Mac o Linux, use CrossOver o Wine - los EXE no se ejecutan de forma nativa fuera de…
Abrir detalles de .EXE →Un DLL (Dynamic Link Library) es un archivo de biblioteca de Windows que contiene código compilado que los programas cargan mientras se ejecutan, por lo que no es algo que se abra haciendo…
Abrir detalles de .DLL →Calidad y qué observar
- Los sitios que afirman convertir EXE a DLL simplemente cambian el nombre del archivo o son engañosos - el resultado no es una biblioteca compartida funcional.
- Tanto el EXE como la DLL comparten el contenedor binario PE, razón por la cual surge la pregunta, pero sus modelos de entrada y los requisitos de funciones exportadas son fundamentalmente diferentes.
- Sin el código fuente, la alternativa práctica es iniciar el EXE como un proceso secundario y comunicarse mediante tuberías (pipes) o sockets en lugar de intentar llamarlo como una biblioteca.