Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Lazarus, dimensione file spropositata.
Forum - Delphi - Lazarus, dimensione file spropositata.

Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 8:33
Venerdì, 20/04/2007
Ragazzi come mai quando compilo un
progetto in Lazarus la grandezza
del file eseguibile non è inferiore
all'ordine dei Mb?

Spero sappiate darmi delle risposte:
è urgente! :(

Grazie! :k:

PM Quote
Avatar
nikipe_silver (Founder Member)
Expert


Messaggi: 339
Iscritto: 20/09/2005

Segnala al moderatore
Postato alle 17:29
Sabato, 21/04/2007
dipende dal programma e dal compilatore..ma io nn mi procuperei piu' di tanto, ma se vuoi puoi impostare le ottimizzazioni nelle opzioni di lazarus...

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 11:29
Domenica, 22/04/2007
Ti dispiace dirmi come posso diminuire le dimensioni?

In pratica mi sembra un po' esagerato
6.42 MB per un'applicazione che ha solo un Form e
un Bottone... Tu che pensi? :)

Ho letto in rete che è colpa della compilazione
statica. In pratica se compilo il progetto con
le GTK (librerie grafiche) vengono incluse
nel file eseguibile... Però questo non va bene!

Qualcuno sa come effettuare una compilazione
dinamica? Io ho cercato ma non ho trovato niente.

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 12:29
Domenica, 22/04/2007
Okay ragazzi ho risolto!

Ecco come ho fatto:

1. Dopo aver compilato il mio progetto ho
preso l'exe di 6.44 MB circa e l'ho portato in
questa cartella:
C:\Programmi\Lazarus\fpc\2.0.4\bin\i386-win32

2. Ho aperto una finestra DOS e mi sono portato
nella stessa directory in questo modo:
C:\> CD C:\Programmi\Lazarus\fpc\2.0.4\bin\i386-win32

3. Ho lanciato il programma STRIP.EXE in questo modo per togliere dall'applicazione che ho compilato le informazioni di debug:
C:\Programmi\Lazarus\fpc\2.0.4\bin\i386-win32> strip --strip-all applicazione.exe
A questo punto la dimensione è gia diminuita di parecchio!

4. Ora ho compresso il mio eseguibile con UPX.EXE
in questo modo:
C:\Programmi\Lazarus\fpc\2.0.4\bin\i386-win32> upx -9 applicazione.exe
Il parametro -9 effettua una compressione migliore
anche se ci mette un po' di tempo in più.
Se invece volete comprimere più velocemente togliete il paramentro -9.

A quanto pare mi sbagliavo. Ho letto una
sciocchezza! In pratica nell'applicazione
compilata vengono inserite le informazioni di
debug...

Però seguendo questo procedimento la dimensione
è balzata da 6 MB e mezzo a 440 KB :D

Ultima modifica effettuata da Shutdown il 22/04/2007 alle 12:34
PM Quote
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Segnala al moderatore
Postato alle 14:19
Venerdì, 19/03/2010
grazie mille!!! avevo lo stesso identico problmea!!! così ho risolto!!!

PM Quote
Avatar
haberdasherv (Member)
Newbie


Messaggi: 17
Iscritto: 27/11/2009

Segnala al moderatore
Postato alle 10:16
Domenica, 21/03/2010
incredibile! da 11.8mb a 630kb... eppure è solo un hello world... come mai occupa così tanto? esiste un modo per automatizzare il processo direttamente durante la compilazione?

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 13:44
Sabato, 27/03/2010
Le dimensioni sono spropositate perché
vengono incluse le informazioni di debug
nel file eseguibile.

Non so se esista un modo per automatizzare
poiché non uso più Lazarus da una vita.

Dico una fesseria: forse si può risolvere
compilando come Release e non come Debug.
Non ho testato questa cosa. Provateci e
fate sapere i risultati.

Altrimenti sviluppate tranquillamente
e tenetevi la dimensione del file così
com'è. Quando finite e volete distribuire
l'eseguibile fate uso del procedimento
già mostrato sopra.

Saluti,
Niccolò.

PM Quote