Tamaño de ejecutables
#1
Escrito 20 marzo 2010 - 08:56
Probando hice un solo formulario sin ningun componente (en linux) y el tamaño fue de 4 MB, en la version para windows fue de 2 MB
Haciendo lo mismo en Delphi son solo unos KB
A que se debe esto?
Hay alguna forma de reducirle el tamaño?
#2
Escrito 20 marzo 2010 - 10:17
#3
Escrito 20 marzo 2010 - 10:58
http://wiki.lazarus....rg/Size_Matters
Y en estos hilos de hipslazarus tambien lo tratamos:
http://hispalazarus....tables-t17.html
http://hispalazarus....1233.html#p1233
Saludos.
#4
Escrito 20 marzo 2010 - 11:19
#5
Escrito 20 marzo 2010 - 11:30
Como ya he repetido miles de veces, el tema del tamaño de los binarios me tinene bastante aburrido. Para aquellos que les interese saber, puede lleer la wiki:
Hola Germán,
Por lo que comentas, entiendo que éste es un tema concurrente cuando se habla de lazarus y se tipifica como algo malo.
Sin embargo, hay muchos factores por los que un programa crece en sus bytes, por ejemplo, el uso irracional de componentes de terceros, incluir unidades que no tienen ningún uso dentro de la aplicación, el estilo de programar, etc...
Además creo que con las capacidades actuales que se manejan, los tamaños quedan en segundo término.
Salud OS
#6
Escrito 20 marzo 2010 - 12:55
Os invito a repasar estos temas donde de alguna manera se trató la complejidad de reducir los ejecutables generados por delphi, Builder C++ y Visual C++:
Obteniendo ejecutables ligeros
Mini ejecutables en C/C++ para Windows
Saludos.
#7
Escrito 23 marzo 2010 - 02:43
si que hay una forma de hacer los ejecutables más pequeños.
Dado que lazarus incluye todas las opciones necesarias para depurar los programas, lo mejor, una vez comprobado que el ejecutable funciona sin problemas es eliminar todos esos datos. Para ello yo uso la siguiente orden:
strip --strip-all tu_ejecutable
si a eso le añades la compresión del ejecutable con el programa upx
upx tu_ejecutable
Reduces un ejecutable de 30 a 1.5 Mb.
en este enlace se explica muy bien:
http://wiki.lazarus...._tan_grandes.3F
Un saludo
ArturoM
#8
Escrito 23 marzo 2010 - 06:29
Salud OS
#9
Escrito 23 marzo 2010 - 03:00
Hola,
si que hay una forma de hacer los ejecutables más pequeños.
Dado que lazarus incluye todas las opciones necesarias para depurar los programas, lo mejor, una vez comprobado que el ejecutable funciona sin problemas es eliminar todos esos datos. Para ello yo uso la siguiente orden:
strip --strip-all tu_ejecutable
si a eso le añades la compresión del ejecutable con el programa upx
upx tu_ejecutable
Reduces un ejecutable de 30 a 1.5 Mb.
en este enlace se explica muy bien:
http://wiki.lazarus...._tan_grandes.3F
Un saludo
ArturoM
UPX lo conozco y lo he usado, pero strip que es y donde está?
#10
Escrito 23 marzo 2010 - 06:14
Para responder a JoAnca:
strip es una herramienta que remueve simbolos innecesarios para la ejecucion de un programa. Estos simbolos son insertados por el compilador, de acuerdo a los parametros especificados. Por ejemplo simbolos que sirben para la depuracion o informacion de numeros de linea de codigo, etc. El comando strip no es necesario si utilizas las opciones adecuadas del compilador. O sea, para que vas a remover algo que digiste que lo pongan, mejor di primero que no lo pongan ahi y listo, no??
upx es un compresor de ejecutables, bastante conocido por todos. Yo nunca recomiendo su uso porque, si bien reduce el tamaño del ejecutable, trae aparejado otros problemas, como mayor uso de cpu o memoria, destruccion de recursos, etc, si no se conocen correctamente que es lo que hace cada parametro y cual es su consecuencia.
Un correcto uso del compilador, hace innecesario el uso de estas herramientas. Menos que menos hoy en dia, que fpc tiene implementado wpo (http://wiki.lazarus....am_Optimization).
Saludos.
#11
Escrito 23 marzo 2010 - 06:21
Primero y principal queria saludar a todos, para luego decir si es posible que el moderador luk2009 mueva estos ultimas 3 o 4 respuestas al otro hilo sobre tamaño de los ejecutables, ya que este trata sobre otro tema.
Listo Germán, todos los comentarios en un solo tema.
Salud OS
#12
Escrito 23 marzo 2010 - 07:50
Porque no abres un hilo con los detalles de las opciones que deben ser suprimidas en el compilador para lograr ejecutables mas pequeños. Seria muy importante para los que utilizamos lazarus, contar con tu asesoria en este tema.
gracias de nuevo y espero verte pronto por aca.
#13
Escrito 23 marzo 2010 - 08:25
Salud OS
#14
Escrito 23 marzo 2010 - 08:41
gracias de nuevo amigo.
#15
Escrito 24 marzo 2010 - 06:27
Saludos.
#16
Escrito 24 marzo 2010 - 09:43
saludos