Conceitos de linkedição.

1. Conceitos de linkedição.

fabio ricardo da silva
fabim

(usa Ubuntu)

Enviado em 13/01/2012 - 08:24h

Amigos.
Estou me aprofundando no útero do funcionamento do linux, manipulação etc.
Me esbarrei em uma questão interessante.
Pelo que eu pude observar, quando eu crio um aplicativo por exemplo no QT, o aplicativo faz uso de bibliotecas.
Eu estava tentando mentalizar estas bibliotecas, e como é feito a indexação delas ao executável para que o mesmo possa funcionar, e não consegui processar mentalmente o conceito.
No Windows, existem as "DLL". As dll's são de vários tipos de extensões envelopadas, podendo conter códigos, dados, ou ser simplesmente um programa comum com um canal de comunicação. As dll's são usadas para modularizar abstrações de acesso a API, e podendo ser utilizada em vários aplicativos, desta forma economiza-se tamanho no executável etc.. bla bla bla. Resumindo, eu posso ter um micro programa de invocação de DLL(s), e interação humana, e centenas de milhares de dll's cada uma sendo um aplicativo, ou uma abstração para algo... etc
No Linux, isto não ficou muito claro.
Eu observei que existem varias extensões para as bibliotecas, até mesmo código C puro, ou headers.

Agora a confusão.
Quando o cabra [*****], clica sobre o ícone ou simplesmente ./programa.
1- O kernel faz a linkedição de alocação dinâmica na RAM.
2- O kernel faz uma mágica, torna tudo em código, cria um make, chama o G++ ou o GCC, compila com definição de qual lugar da RAM o código vai começar.
3- é muito mais simples do que parece.
4- o buraco é mais embaixo, tem nava haver o que eu disse acima?!

Espero que alguém possa me auxiliar neste tópico !! Abraços


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts