Lazarus - Reduzindo o tamanho dos executáveis

Publicado por Aristoteles Rego de Araujo em 30/04/2007

[ Hits: 14.043 ]

 


Lazarus - Reduzindo o tamanho dos executáveis



Gosto muito da linguagem Object Pascal e da sua estrutura para programação orientada a objeto (apesar de não ser um bom programador) e sou fã de carteirinha do Linux. Quando surgiu o Kylix, vibrei com a possibilidade de serem criados programas "multiplataforma", mas tive problemas em distribuir programas criados com ele e pelo abandono da Borland ao projeto. Então surgiu o Free Pascal e o Lazarus. Fiz uns testes que mostraram o potencial da dupla, e disse: Agora vai! Fiz uma pequena agenda de exemplo, publicada aqui no VivaoLinux.


No entanto ocorreu um detalhe, os executáveis ficavam enormes. Um programa bem simples em Delphi ficava com 1,8MB contra 7,9MB no Lazarus, ou seja, 4 vezes mais. Isso não chega a ser um problema, mas pode assustar quem tem que baixar ou distribuir programas, principalmente em linha discada.

Mas fazendo uma busca na web, achei uma dica sobre o utilitário strip, presente no pacote binutils (GNU Binary Development Tools), fiz uma pesquisa na instalação do Lazarus e achei-o na pasta c:\lazarus\fpc\2.0.4\bin\i386-win32. Executei num terminal, passando o nome do executável como parâmetro, e o resultado foi excelente :) Um programa de 6,8MB ficou com 1,9MB, portanto obtendo uma redução de 72%.

strip <programa.exe>

No Linux, além do strip você pode usar o comando file, para saber se o programa já passou pelo strip.

file <programa>

$ file programa programa: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped

Fiz um programa com o objetivo de aprender a usar o ábaco (Ábaco Livre), que esta hospedado no codigolivre.org.br, mas em Delphi, já estou convertendo-o para Lazarus e breve será disponibilizada uma nova versão, juntamente com binários para Linux e Windows, e com o tamanho do executável reduzido! :)

Dicas sobre o strip:

Viva o Linux:
Dicas-L:
Estou colocando aqui também uma lista de programas desenvolvidos com o Lazarus:
O Lazarus pode ser encontrado em:
Espero ter ajudado e que o tamanho do executável não seja mais uma barreira na adoção do Lazarus na migração ou criação de programas para Linux.

Outras dicas deste autor

Game: Penguin Baseball

Sodipodi: solte a imaginação e crie desenhos vetoriais

Freedows: novo sabor de GNU/Linux

Definindo usuário para o cliente SMB

Acessando compartilhamento samba com konqueror

Leitura recomendada

UNDER Linux V1.1

O usuário removido

Mint Menu no Ubuntu 10.04

Habilitar "magnet links" no Gnome com o Vuze

Melhorando a visualização dos arquivos de log

  

Comentários
[1] Comentário enviado por mellisilvestre em 03/02/2008 - 20:44h

Valeu fera!

[2] Comentário enviado por art2000 em 04/09/2008 - 01:05h

Muito bom brow. Simples e funcional.



Contribuir com comentário