Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: FreeBSD
Por dark
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

strip: diminuindo o tamanho dos programas compilados
Linux user
Publicado por Flavio Pereira de Oliveira em 20/01/2005

Login: Grobsch, 346453 pontos | Blog: http://www.goblinx.com.br
[ Hits: 5675 ]

strip: diminuindo o tamanho dos programas compilados

Muitos usuários necessitam compilar programas a partir do código fonte e a imensa maioria usa os seguintes comandos em ordem:
  • configure;
  • make;
  • e make install.

Estes comandos criam um programa com a maioria de suas funcionalidades, algumas verdadeiramente desnecessárias, como a inclusão de símbolos nos objetos.

Para diminuir o tamanho dos programas compilados, existe um executável presente no pacote binutils (GNU Binary Development Tools) de grande utilidade, o strip.

Strip é um comando usado para a remoção dos símbolos em objetos, o que reduz o tamanho de executáveis e bibliotecas. A maioria dos símbolos é usada para o debug do programa, ou seja, importante apenas para desenvolvedores.

Depois de usar o comando make, procure pelos executáveis e bibliotecas e use o comando strip. Existem diversos parâmetros para o comando, mas para remover todos os símbolos basta usar:

$ strip nomedoexecutável

Em teste, após compilar o gnumeric, o executável ficou com 33Mb de tamanho, após a execução do strip caiu para 4Mb.

Use o comando strip em executáveis e bibliotecas não estripadas ainda para diminuir o tamanho do seu sistema, você pode estripar executáveis e bibliotecas já instalados.

A maioria dos pacotes das distribuições já vêm com os executáveis e bibliotecas estripados.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada SEMINFO 2004, Software Livre e Inclusão Digital
   Dica Linux recomendada Skin do Brasil para aMSN (Copa do Mundo)
   Dica Linux recomendada File Manager muito bom e com suporte a thumbs
   Dica Linux recomendada Tocando som com o style do Fluxbox
   Dica Linux recomendada Recuperar o lilo no Slackware Linux, de forma diferente

Comentários
[1] Comentário enviado por fabio em 20/01/2005 - 03:02h:

Excelente dica, meus parabéns!

[2] Comentário enviado por Grobsch em 20/01/2005 - 08:28h:

Valeu Fábio!! Espero que ajude o pessoal...

[3] Comentário enviado por neriberto em 20/01/2005 - 08:31h:

Dica bastante interessante, não testei ainda. mas prometo que vou, ótima contribuição

[4] Comentário enviado por Grobsch em 20/01/2005 - 08:44h:

Para os executáveis é tira e queda... diminue radicalmente o tamanho..
Para as bibliotecas, algumas poucas podem necessitar de static link, mas sempre funciona comigo...
Apenas não é bom utilizá-lo com os módulos de kernel... É possível remover apenas alguns símbolos já que o comando insmod para certos módulos precisa dos símbolos.


[5] Comentário enviado por jose_maria em 20/01/2005 - 21:20h:

Bem legal isso. Eu não conhecia.
Reduziu em 20% uns programas que eu fiz.
Esses binários vão continuar a funcionar se eu levar eles para outras máquinas?

[6] Comentário enviado por Grobsch em 21/01/2005 - 08:10h:

Acredito que sim porque os pacotes do Slackware usam executáveis estripados e fiz também assim com o GoblinX... e ambos funcionam em inúmeros computadores...
Alguns executáveis maiores terão ainda mais redução de símbolos...

[7] Comentário enviado por slask em 21/01/2005 - 13:50h:

Muito Bom msm. Testei em alguns programas aqui e o tamanho reduziu de 20% a 50%!! Mto Bom!

[8] Comentário enviado por morvan em 24/01/2005 - 17:54h:

Parabéns pela dica. A título de informe, há bastante tempo atrás, quando era comum, para mim, compilar programas, tanto em ASM como em outras linguagens, no MSDOS, havia o Exehdr.exe. Ele fazia o mesmo que o utilitário que vós citais, porém, com uma abordagem diferente: ele mexia no executável, manipulando o total de memória mínimo de execução. Não mexia na extensão (em Bytes) do executável. Este conforme visto, retira as informações que interessam ao depurador. Perfeito.
Obrigado e um abraço.

[9] Comentário enviado por beetle_juice em 15/05/2005 - 12:39h:

Perdido no v.o.l como sempre... me deparo com essa dica muito show do meu amigo Grobsch! Não conhecia este tipo de comando, vou experimentar com certeza pois o Slack véio aqui em casa, jah tah passando dos 60% de uso no HD rs...
PS: Tá saindo uns 3 artigos novos aí no v.o.l fica atento!!!
t+
[]'s
beetle_juice.

[10] Comentário enviado por ulbj05 em 10/01/2006 - 13:56h:

Muito boa a sua dica!!!

Não testei ainda mais vou testar!!! Este pacote Binutils já vem instalado por padrão na maioria das distribuições? Eu utilizo o Kurumin...vou procurar para ver se já está instalado e se não, se já está disponível para instalação a partir do apt-get. De qualquer maneira vou testar e ver o resultado.

Muito boa a dica...parabéns!!!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.