PDA

Ver la Versión Completa : Reducir tamaño de mi aplicacion


Vivi
11-08-2005, 14:44:13
Hola :) :D
Les agradezco mucho la ayuda que puedan brindarme.
Tengo un programa (ejecutable-delphi) que esta ocupando mucho espacio en disco y necesito reducir su tamaño, por favor qué y cómo puedo hacer para solucionar este incoveniente?

dec
11-08-2005, 14:56:41
Hola,

Puedes probar usando un compresor de "ejecutables", como UPX (http://upx.sourceforge.net/), por ejemplo. Echa un vistazo en el buscador (http://www.clubdelphi.com/foros/search.php?) de estos foros, encontrarás más referencias a este tipo de programas. Este que te digo es gratuito y de código fuente abierto.

Casimiro Notevi
11-08-2005, 16:18:55
Además de lo que comenta dec, también sería conveniente que comprobaras por qué ocupa tanto el exe ¿puede que tenga incrustado muchas imágenes?.
Por supuesto, con upx, disminuirá el espacio ocupado en disco, pero luego en memoria seguirá ocupando lo mismo que antes.

dec
11-08-2005, 17:37:45
Hola,


(...) seguirá ocupando lo mismo que antes.

O más (http://www.jrsoftware.org/striprlc.php#execomp) ;)

dec
11-08-2005, 17:50:53
Hola,

Me gustaría añadir que un programa como Inno Setup (http://innosetup.com/) ya comprime los ejecutables "razonablemente". O cualquier compresor de archivos Zip, también dejará el ejecutable bastante más liviano (al menos ciertos ejecuables, vaya) y esto puede ser bastante, puesto que acaso importe la distribución del ejecutable o aplicación, pero, una vez en el "cliente" tal vez ya no cuente tanto el tamaño del mismo. Esto evitaría los "efectos perversos" de los compresores de ejecutables que menciona Jordan Russel (http://www.jrsoftware.org/striprlc.php#execomp).

Evidentemente, me refiero al tamaño que ocupa un ejecutable o una aplicación en disco, no en memoria una vez cargado el programa en la misma. Un ejemplo, XEditor (http://www.xeditor.tk). Me estoy plantendo no comprimirlo, como lo hago ahora, porque, el programa de instalación me deja la aplicación en 1,30 MB. Comprimido el ejecutable el asistente de instalación viene a ocupar 1,19 MB... ¿merecerá la pena, pues, comprimir el ejecuable? Hum... para mí que cuando actualize el programa a que hago referencia no lo comprimiré.

En todo caso, ya que hay quien dice que el uso de un compresor de ejecutables no está muy curioso, ¿hay alguien por ahí que se atreva con razones suficientes a plantear lo contrario, al menos en según qué casos? ¿O tal vez los compresores de ejecutables son algo "del pasado"?

Casimiro Notevi
11-08-2005, 20:47:30
Yo le vengo dos ventajas:
1- que la lectura del disco es más rápida al ocupar menos.
2- que quieras "esconder" algo y ponérselo más difícil al hacker de turno que quiera "destripar" tu ejecutable.

La primera ventaja sirve de poco porque con la velocidad de los discos de hoy en día ni se nota la diferencia y la segunda ventaja tampoco tiene mucha importancia porque el ejecutable no podrá "mirarlo", pero una vez cargado en memoria con cualquier editor hexadecimal podrá verlo, ya que en memoria se ha "descomprimido" y está en un modo "normal".

Vivi
12-08-2005, 00:50:34
No habia escuchado antes acerca de la herramienta (UPX). Compresor de ejecutables.
Tambien se me ocurre que podria crear librerias de algunos modulos que tengo y haciendo referencia a los dcu compilar mi aplicacion. :confused:

Muchas gracias por la ayuda y el tiempo dedicados Casimiro Notevi y Dev.

hermes_32
12-08-2005, 07:58:56
Hola a todos.

Como añadido á todo lo que habéis dicho, comentaré que hay que tener cuidado con estos compresores ya que algunos de ellos dejan los ejecutables perjudicados pues los antivirus los detectan como virus...Ahora no lo sé pero en versiones anteriores UPX se llevaba muy mal con Norton, por ejemplo.

Así que no se qué será peor...

Un saludo.