Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Hacklinx en 18 Enero 2014, 12:21 pm



Título: Como crear "proyecto.exe"
Publicado por: Hacklinx en 18 Enero 2014, 12:21 pm
Saludos tengo una duda de hace tiempo, que consiste en como conseguir crear un archivo.exe que ejecute el programa creado, con un solo .exe sin necesidad del archivo binario, es decir conseguir cargar el archivo binario de alguna forma en el archivo.exe para que actúe con independencia, y no tenga necesidad de llevar los 2 archivos pegados (el ejecutable.exe y el codigo.o).

Y por igual que sea capaz de hacer lo mismo o con fotos, música etc.

Ya que para correr una aplicación, en C, según tengo entendido creo el proyecto con los recursos en su carpeta, pero si quiero exportar mi programa a la gente que hago le mando el proyecto entero?

Lo que quiero es mandarle solo un archivo.exe con el mayor contenido posible, para que le funcione mi programa perfectamente sin necesidad de mandarle más archivos y carpetas.

Saludos y gracias.



Título: Re: Como crear "proyecto.exe"
Publicado por: amchacon en 18 Enero 2014, 12:27 pm
El compilador crea un exe que se ejecuta independiente, al menos en windows sí  :huh:

Si acaso, puedes pasarlo el modificador -static al compilador (en el caso que hubiera problema con las DLL).


Título: Re: Como crear "proyecto.exe"
Publicado por: Hacklinx en 18 Enero 2014, 13:30 pm
Hola yo uso windows y de compilador tengo el codeblocks, cuando compilo un programa en C, lo que hace es crearme 2 carpetas una llamada bin/debug/ejecutable.exe y otra obj/debug/main.o

El ejecutable.exe no actúa con independencia, necesita el main.o que es el código binario del programa, y el ejecutable.exe lo que se encarga es de lanzarlo, lo que busco es alguna manera de fusionar estos archivos o algo para que el ejecutable.exe sea capaz de ejecutar el programa con independencia.

Saludos


Título: Re: Como crear "proyecto.exe"
Publicado por: amchacon en 18 Enero 2014, 13:40 pm
El ejecutable.exe no actúa con independencia, necesita el main.o que es el código binario del programa, y el ejecutable.exe lo que se encarga es de lanzarlo, lo que busco es alguna manera de fusionar estos archivos o algo para que el ejecutable.exe sea capaz de ejecutar el programa con independencia.
Lo primero es, que si no vas a usar el depurador lo compiles en modo "Release". Más que nada porque los exe son más ligeros.

Segundo, lo que dices no es cierto, no hace falta el main.o para lanzar el archivo... ¿De donde sacas eso?


Título: Re: Como crear "proyecto.exe"
Publicado por: Hacklinx en 18 Enero 2014, 13:58 pm
Es cierto que en modo release el ejecutable.exe es más pequeño, ¿pero funciona por igual no? porque eso de que tengan distinto tamaño y hagan lo mismo me confunde.

He estado haciendo unas pruebas y te doy la razón, entonces cuando compilamos un proyecto, el ejecutable.exe compilado ya está listo para exportar, es decir creo un programa lo compilo, te paso su ejecutable.exe y tu ya puedes trabajar con él, sin necesidad de nada más.

Muchas gracias, estaba engañado con esto bastante tiempo por lo visto :))


Título: Re: Como crear "proyecto.exe"
Publicado por: amchacon en 18 Enero 2014, 15:49 pm
Es cierto que en modo release el ejecutable.exe es más pequeño, ¿pero funciona por igual no? porque eso de que tengan distinto tamaño y hagan lo mismo me confunde.
El modo DEBUG tiene simbolos de depuración en el código, eso sirve para detectar las variables/instrucciones en el depurador.

Si no vas a depurar el progama no tiene sentido que pongas los simbolos ^^

He estado haciendo unas pruebas y te doy la razón, entonces cuando compilamos un proyecto, el ejecutable.exe compilado ya está listo para exportar, es decir creo un programa lo compilo, te paso su ejecutable.exe y tu ya puedes trabajar con él, sin necesidad de nada más.
En efecto.

Aunque algunas personas (no todas) pueden tener problemas de que les falta una DLL. Por eso te recomiendo que te vayas a Settings -> Compiler -> Linker Settings y en la columna de la derecha pongas "-static" (sin comillas claro).


Título: Re: Como crear "proyecto.exe"
Publicado por: Hacklinx en 18 Enero 2014, 17:44 pm
Vale, ya puesto ¿sabe si el ejecutable.exe generado tiene metadatos?

Y en tal caso cómo poderlos eliminar, etc...

Gracias