Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ejecutable Demasiado Grande

Iniciado por jorgediz, 26 de Febrero de 2004, 05:03:51 PM

« anterior - próximo »

jorgediz

 Hola, estoy empezando a programar con C++ y hay algo que me preocupa.

He hecho un programita sencillo, de un archivo, no más de 60 líneas. Cuando lo compilo con DevC++ me da un ejecutable de 463 KB, y con VC++ de 500.

A mí esto no me parece normal para una aplicación de consola que convierte números árabes en romanos. Sólo estoy usando las librerías y , ésta para el 'cout' y 'cin'.

Supongo que podría pasar de usar strings a arrays de char y ahorrarme alguna librería, pero es un coñazo. ¿Hay otra alternativa para reducir el tamaño?

Saludos y gracias.

AgeR

 #define WIN32_LEAN_AND_MEAN // Esto debería servir tanto para DevC como para VC
#define VC_LEANMEAN // Esto para VC

Con estos defines se logra eliminar bastante paja que se suele incluir por defecto.

Luego si quieres menos tamaño también hay librerías para reducir el tamaño de los ejecutables (upx me suena).

Por cierto, ten en cuenta que si estás compilando en modo debug, el ejecutable será mucho mas grande que si lo hicieras en modo release.  (En VC++ : Build -> Set active configuration...)

Espero que te sirva, saludos!

Thenend

 Como curiosidad estos dos artículos en los que se crea un aplicación de C++ con su ventana y su Direct3D inicializado y listo para usar, que compila en un ejecutable de menos de 1K  

http://www.ukscene.org/modules.php?name=Se...article&artid=8

http://www.ukscene.org/modules.php?name=Se...article&artid=9

(uoh)

samsaga2

 Dile al compilador que optimice por tamaño en lugar de optimizar por velocidad (¿-Os? no macuerdo). Como te dicen antes compila sin informacion de debug, si tienes el cygwin instalado hazle un strip al ejecutable (para quitar toda la informacion inservible) y un upx (para comprimir el ejecutable).

Ademas ten en cuenta que por el solo hecho de usar C++ y las STL se te añadira la ostia de mierda (lease librerias).

Si no te preocupa el tamaño del ejecutable no te preocupes si en cambio es algo importante pasate al C en lugar del C++.

ethernet

 fr08 esta en c++ y ahi la tienes www.theproduct.de.
Prueba a ponder multithread DLL y veras como baja el tamaño del exe.
De todas formas con quitar la info de debug va que bufa.

saludos

Astharoth

 

Un buen enlace con codigo util.

Libctiny de Matt pietrek :)

Como diria un compañero " ehh ehh ese dios" :D

Un Saludo.

jorgediz

 Caray, ¡cuántas respuestas! No esperaba recibir tanta ayuda. Desde luego hoy me acostaré sabiendo cienmil cosas más...

Muchas gracias a todos los que habéis aportado algo al hilo  :)  :) .

MA]Mestre

 Me juego un gallifante que tu problema es que compilas en modo DEBUG xD Sure !!!
por cierto, sabias que si distribuyes tu exe o dll en modo debug llevan el codigo dentro ?  (twist)  hay cientos en modo debug por la red xDDDD

Un saludo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.