Lazarus - Reduzindo o tamanho dos executáveis

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

[ Hits: 13.626 ]

 


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

Acessando compartilhamento samba com konqueror

Game: Penguin Baseball

Freedows: novo sabor de GNU/Linux

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

Definindo usuário para o cliente SMB

Leitura recomendada

XVII Semana da Computação UNESP / S. J Rio Preto

Ativando composite automaticamente

Personalizando a aparência do KDE no Mandriva One e superior

Eliminando bordas feias ao usar Compiz no Xfce

Baixando o Slackware 10.2

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts