samples chilkat delphi delphi-7 delphi-2010 delphi-xe delphi-xe3

chilkat - Tamaño del archivo Delphi XE3 EXE 25 veces más grande que Dephi 7



chilkat samples (4)

Como prueba, decidí crear una aplicación simple "Hola mundo" en Delphi utilizando Delphi 4, 5, 6, 7, 2005, 2010 y XE3. La aplicación no es más que un TForm, un TButton con un evento OnClick que llama a ShowMessage (''Hola mundo'').

A continuación se muestran los resultados de cada EXE final con la eliminación de errores desactivada:

¿Alguien puede explicar por qué la versión XE3 es 26 veces más grande que el promedio de las versiones anteriores de Delphi?

Aquí están las configuraciones de mi proyecto para XE3:


Bueno ... hay muchas cosas que explican la diferencia entre el antiguo lanzamiento de delphi y el nuevo ... lo importante es el soporte de Unicode (D2009 .. DXE4), todos los caracteres en unicode alloc de 2 bytes (en D1, D2, D3 , D7, ... solo asignan un byte)


Es posible que haya hecho una única compilación después de cambiar a la configuración ''Release''. Intenta hacer una reconstrucción (no recompilar). Esto realmente activará la configuración de Release en el ejecutable, y quizás un tamaño de archivo más pequeño.

Para mí (Delphi XE2), el tamaño reportado por Windows para la misma aplicación (configuración de versión) es:

1.52 MB (1,600,512 bytes)


Resolví el problema. Chalk esto hasta el hecho de que uso Delphi 7 el 99% del tiempo cuando desarrollo, y XE3 es nuevo para mí. A pesar de que había elegido "Liberar" en las opciones del proyecto y realicé mis ajustes allí, resulta que simplemente elegir "Soltar" allí no pone el proyecto en modo Liberación.

¿Quién hubiera pensado que también tuve que usar el panel Administrador de proyectos y hacer doble clic en el elemento "Liberar" para poner el proyecto en modo de lanzamiento?

Si alguien tiene curiosidad, el EXE final ahora es de 2,229 KB, que es solo 5 veces el tamaño de los EXEs anteriores a Delphi 2010.


Simplemente ponga estas líneas en su archivo .dpr, reduce el tamaño del exe en un 20%

usa Windows,

{$ O +} {$ SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}