Určite ste si všimli, že programy, ktoré Lazarus vytvorí, zaberajú na disku veľmi veľa miesta. Napríklad aplikácia obsahujúca len jeden prázdny formulár má v mojom prípade okolo 10 MB. Konkrétne číslo závisí od OS a verzie Lazarusu. Podarilo sa mi však zmenšiť veľkosť programu až na 300 kB! Ako na to? Poradím vám, veď je to cieľom tohoto článku.
Vytvorte nový projekt a uložte ho - jednotku (Unit, *.pas) môžete nazvať ľubovoľne a projekt (*.lpi) nazvite test. Všetko to uložte do adresára C:\Test. Teraz ho skompilujte. Poznačte si veľkosť vytvoreného súboru test.exe.
Najprv použijeme veľmi užitočnú a účinnú metódu. V priečinku (adresár Lazarusu)\fpc\2.2.2\bin\i386-win32 nájdete program strip.exe. Skopírujte ho do nášho adresára (C:\Test). Otvorte Príkazový riadok (Štart / Programy / Príslušenstvo) a napíšte doňho:
C:\Test\strip C:\Test\test.exe
Ak všetko prebehlo v poriadku, veľkosť súboru sa zmenší asi na 1 MB! Už sa v ňom nenachádzajú zbytočné znaky.
Podobný efekt sa dá v niektorých prípadoch dosiahnuť priamo v programe Lazarus, cez menu Project / Compiler Options, panel Linking. Stačí odškrtnúť položku Display Line Numbers in Run-time Error Backtraces.
Pre dosiahnutie lepšieho výsledku je dobré najprv použiť predchádzajúce riešenie a teraz skúsiť nasledovné. Skopírujte program (adresár Lazarusu)\fpc\2.2.0\bin\i386-win32\upx.exe do C:\Test. Znovu spustite Príkazový riadok. Teraz doňho napíšte:
C:\Test\upx C:\Test\test.exe
UPX skomprimuje vašu aplikáciu, ale tak, že sa bude dať spustiť bežným spôsobom. Veľkosť programu bude o poznanie menšia.
Pre tých, ktorí sa neponáhľajú, ale záleží im na veľkosti programu, je tu prepínač --ultra-brute
. Vtedy UPX vyskúša všetky komprimačné metódy a vyberie tú najlepšiu. Miesto predchádzajúceho kódu použijeme tento:
C:\Test\upx --ultra-brute C:\Test\test.exe
Metódu ultra-brute odporúčam, ak plánujete svoju aplikáciu umiestniť na Internet. Funguje však, len ak použijete najnovšiu verziu programu UPX.
Ak stále nie ste s výsledkom spokojní, skúste aplikáciu zabaliť napr. do formátu ZIP, RAR alebo 7Z. Prehľad archivátorov nájdete v sekcii Komprimačné programy.