Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Cómo reducir el tamaño de un archivo lazarus (https://www.clubdelphi.com/foros/showthread.php?t=80213)

anubis 09-09-2012 23:32:08

Cómo reducir el tamaño de un archivo lazarus
 
Hola,

No si ya lo hayais visto o si ya lo sabeis pero para los que no lo sepan, lo comento.

Por ejemplo, en mi caso, tengo un archivo ejecutable de 80 megas, lo he dejado en 2.5 megas.

Hay un par de utilidades en lazarus, concretamente en la ruta C:\lazarus\fpc\2.6.1\bin\i386-win32, que son:

strip.exe ---> sirve para "aligerar" de simbolos del depurador y lo deja, en mi caso, en 7.5megas.
upx.exe ---> comprime el exe, dejandolo aún mas delgado, en mi caso, 2.5 megas.

Estos dos comandos se usan desde línea de comandos:

strip.exe programa.exe
upx.exe programa.exe

El upx no lo recomiendan salvo que tengas buenas razones para usarlo, por alguna que otra pérdida.

de todas formas os dejo donde he visto esta información

http://wiki.freepascal.org/Lazarus_Faq/es

Casimiro Notevi 10-09-2012 00:10:05

Gracias por la información :)

mightydragonlor 10-09-2012 01:34:37

Otra forma fácil es decirle al depurador que genere las líneas de información en un archivo aparte del ejecutable, un programa de 20MB te queda en 4MB aprox, luego el strip y queda en unos 600k y si le sumas el upx como 100k xD

anubis 10-09-2012 01:39:56

ah y eso como es y donde lo guarda.?

daragor 10-09-2012 01:42:48

Muy buena info ya me estaba preocupando este tema del peso.. una pregunta como arranco la linea de comandos?

anubis 10-09-2012 02:05:52

hola,

te vas a inicio, y escribes en ejecutar cmd.
ahi te sale la linea de comandos.

lo unico seria que metieras la ruta en variables de entorno para que pudieras ejecutar strip en cualquier directorio.

Las varialbes de entorno, se cambian en windows 7 --- panel de control ---- sistema ---- variables de entorno ----- ahi en el cuadro de abajo buscas path lo seleccionas y en toda la linea que sale, le agregas un ; y luego toda la ruta donde esta strip.

Casimiro Notevi 10-09-2012 02:13:28

Cita:

Empezado por daragor (Mensaje 442552)
una pregunta como arranco la linea de comandos?

Supongo que es una pregunta de broma ;)

mightydragonlor 10-09-2012 02:23:10

Cita:

Empezado por anubis (Mensaje 442551)
ah y eso como es y donde lo guarda.?

Proyecto=>Opciones de proyecto=>Enlazado=>Usar archivo externo de símbolos de depuración para gdb(-Xg)
Esto hace que junto a tu ejecutable quede un archivo con el mismo nombre del ejecutable con extensión .GDB

daragor 10-09-2012 02:29:31

Cita:

Empezado por Casimiro Notevi (Mensaje 442559)
Supongo que es una pregunta de broma ;)

No casimiro, lamento quedar como tonto pero pense q hablabamos de lazarus no de windows... soy novato en este entorno.

mightydragonlor 10-09-2012 04:31:57

Cita:

Empezado por daragor (Mensaje 442563)
No casimiro, lamento quedar como tonto pero pense q hablabamos de lazarus no de windows... soy novato en este entorno.

Como dicen por ahí, es mejor quedar como tonto un momento por preguntar, que no hacerlo y quedar tonto por toda la vida.

Casimiro Notevi 10-09-2012 10:00:51

Cita:

Empezado por daragor (Mensaje 442563)
No casimiro, lamento quedar como tonto pero pense q hablabamos de lazarus no de windows... soy novato en este entorno.

Cita:

Empezado por mightydragonlor (Mensaje 442572)
Como dicen por ahí, es mejor quedar como tonto un momento por preguntar, que no hacerlo y quedar tonto por toda la vida.

No, hombre, no es quedar como tonto, lo tonto sería no preguntar si no se sabe.
Es que no se puede saber todo.

Fíjate que yo estaba pensando en la línea de comandos de linux, que es lo que uso:
En ubuntu: Aplicaciones->Accesorios->Terminal
En windows: Inicio->Ejecutar, tecleas cmd y aceptas.

daragor 10-09-2012 14:35:56

Ok compañeros.. ya use esta tecnica.. para los que x ahi se pierden un poco como yo les digo que se puede copiar el programa strip.exe y pegarlo en la carpeta de nuestro proyecto donde esta el ejecutable de ahi se ejecuta tal cual lo dice el compañero anubis.

Espero q siga creciendo este buen subforo de lazarus. Saludos!!

Critter 11-09-2012 10:51:14

Otra opción más práctica es utilizar las macros en las Opciones del proyecto, concretamente en

"Opciones del Compilador" -> "Opciones" -> "Ejecutar despues de" -> "Construir"

y en "Comando" ponemos lo siguiente:

"$(LazarusDir)\fpc\$(FPCVer)\bin\i386-win32\strip.exe --strip-all $(TargetFile)", las macros sustituyen las rutas a Strip.exe. y así esta manera no se recurre a la linea de comandos.

Si además quereis comprimir con el UPX, entonces en vez de el comando de arriba, se puede llamar a un archivo BAT.

ElMug 28-09-2012 04:46:13

Antes usaba stripper pero ya tengo tiempo usando este:

http://www.wibblytim.co.uk/compress.html

Es grafico y muy facil de usar. En pruebase, los .exe fueron menores que con stripit.

Casimiro Notevi 28-09-2012 11:42:33

En la web de Lazarus, lo explica: aquí.


La franja horaria es GMT +2. Ahora son las 20:28:37.

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