Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Compactar Exe's (https://www.clubdelphi.com/foros/showthread.php?t=14939)

Xianto 05-10-2004 15:20:08

Compactar Exe's
 
He mirado el archivo compilado que produce el delphi y he notado que lleva mucho espacio... a nivel hexadecimal digo...

El c++ los hace mas pequeños y ni hablar del compilador de Intel... preciosos !!!

Asi que he optado por compactar el exe del delphi con una aplicacion que se llama aspack: http://www.aspack.com/

De tener 1.752 kb, paso a tener 532 kb, lo cual esta muy bien...

Lo que no he mirado si hay algun compilador para delphi que optimize mas los ejecutables que el que viene por defecto...

Quisiera que los que hayan incursionado en este tema, cuenten alguna de las soluciones que han encontrado, si existe algun empaquetador mejor o buen compilador, favor de hacerlo saber !!!

Saludetes...

Xianto 05-10-2004 15:34:29

Tambien estan estos:

UPX Gratis: http://upx.sourceforge.net/
Telock 0.98 Gratis: http://www.softpedia.com/public/cat/5/2/5-2-6.shtml

Aunque personalmente me gusta mas el UPX o el AsPack, los que mas comprimen !

*Nota: el Telock tambien encrypta el archivo, por eso es mas grande, pero poco mas...

Neftali [Germán.Estévez] 05-10-2004 16:06:31

Cita:

Empezado por Xianto
...Quisiera que los que hayan incursionado en este tema, cuenten alguna de las soluciones que han encontrado...

Primero y antes de nada, supongo que ésta ya las ha hecho porque es básica, asegúrete de eliminar toda la info. de debug del ejecutable. Project/optiones/pestañas compiler y linker. Es información que necesitas para programar, pero no en el ejecutable final. Ésto mismo también lo puedes hacer pasándolo al ejecutable ésta aplicación (de los creadores de Exception Magic):
TDSPack

También puedes probar a pasarle al ejecutable ésta aplicación (de Jordan Russell) para eliminar la "relocation section" de EXE (en su página está la explicación completa):

StripReloc



A partir de ahí entiendo que tienes dos opciones:

(a) Utilizar compresores de ejecutables (alguno de los que tú comentas, por ejemplo, o cualquier otro de los disponibles -UPX, ASPack, CExe,NeoLite, PECompack, Petite, PKlite32, Shrinker, WWPack32,EZP, FSG, JDPack, MWE, ...-), con lo que tu aplicación queda igual (en cuanto a diseño), pero lo que haces es comprimirla. Al ejecutarse, tu aplicación se descomprime en memoria y se ejecuta, no tiene más secreto.
(b) Utilizar packages, ya sea estáticos o dinámicos; Entiendo que ésto es una decisión más de diseño. Si utilizas estáticos, es como partir tu aplicación en pequeños trozos. Al ejecutarla se cargan todos los trozos en memoria (y vuelves a tener el programa entero en memoria, pero en trozitos); Si utilizas dinámicos la programación se complica un poco y conseguirás tener en memoria cuando ejecutes sólo los que necesites. El tema de packages en general te obligará a tener otras cosas en cuenta, como, los packages a distribuir en la instalación, versiones de packages (tuyos y los que ya puedan existir en la máquina donde instales),...

Si quieres afinar mucho más en el tamaño, hay otras soluciones, pero algunas de ellas ya son a tener en cuenta en la programación:
* Utilizar las librerías KOL KOL.
* Intentar utilizar la VCL lo menos posible (o no usarla):
http://www.luckie-online.de/Tutorials/
http://www.delphi-source.de/tutorials/nonvcl/
* Utilizar ACL (API Controls Library):
http://www.apress.ru/pages/bokovikov/delphi/index.html
* Cuidado con las imágenes que se añaden a los formularios y el formato en que se añaden. Si se utilizan imágenes de forma repetida utilizar recursos y no añadirlas en diseño.
* Añadir el mínimo posible de propiedades al DFM:
http://www.undu.com/DN970301/00000064.htm

Espero que te sirva.

Xianto 05-10-2004 16:39:25

2 palabras para tu explicacion: muy completa !!!

Da gusto leer notas de gente que sabe de esto...

<Sergio> 05-10-2004 16:52:57

Excelente... Bastante útil. :D

No se si conocen el ResHacker.exe "Resource Hacker".

Con esa herramienta pueden quitar algunas partes extra que no utilizan en el ejecutable como algunos cursores, cadenas, bitmaps no usados de algunas bibliotecas, etc.

Patricio 29-11-2005 15:24:47

Tamaño de Ejecutable
 
Hola, tengo un sistema de una inmobiliaria con varias propiedades, clientes y algunas cosas mas

No me he cuidado con las imagenes asi que eso es un tema a mejorar. Mi ejecutabla pesa 5.8 MB y es mi primer aplicacion seria en delphi, mi pregunta es ¿ese tamaño es muy grande es normal o como es?

Saludos

Lepe 29-11-2005 17:06:39

Access 2002 son 5.5 megas. Si tu programa es igual de amplio que Access, pues estará bien ;)

saludos

Patricio 30-11-2005 13:09:56

Ok Lepe
 
mas claro le echo agua

Saludos


La franja horaria es GMT +2. Ahora son las 19:01:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi