linkagem estática

JAFoNEXUS

Power Member
Boas, imagine-se tenho um executavel para criar, que usa varias librarias presentes no sistema (linux).

Eu quero que estas librarias fiquem todas integradas no meu executavel, sei que tem a ver com a linkagem estática e dinamica.

Alguem sabe como é que eu faço isto ?!?

thanks
 
Para começar precisas de ter as versões estáticas dessas bibliotecas (mesmo que fosse livrarias, não era librarias)instaladas no sistema. Se não é o caso, podes começar por instalá-las com o teu gestor de pacotes preferido.

A diferença (muito sucintamente) de umas paras as outras é a seguinte:
- As dinâmicas (aka partilhadas, shared) residem no sistema e são carregadas apenas uma vez. Depois, todos os programas que necessitem dessas bibliotecas usam a mesma cópia que reside em memória.
- As estáticas residem no executável, logo são sempre carregadas com o programa. Cada programa usa a sua "cópia pessoal" da biblioteca. Mesmo duas instâncias do mesmo programa não partilham a biblioteca em memória.

Se já as tens... procura nas opções do teu compilador e/ou linker como é que fazes para linkar com essas bibliotecas.

P.S.: Não sei se sabes mas dependendo das bibliotecas que queres compilar, o executável pode ficar extremamente grande, tanto no disco como na memória.
 
Última edição:
Back
Topo