Ligador

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Ligador (Vinculador no Brasil) ou Linker ou Linkeditor, em informática, é um programa que liga objectos gerados por um compilador, formando assim o ficheiro executável final. O trabalho de um Ligador é bastante simples: Estabelece a amarração ou vinculação entre referências mais abstratas para referências mais concretas.[1] Por exemplo, pega uma referência escrita por um programador como obtenhaImposto e estabelece a vinculação para a "localização de 726 bytes após o início do módulo executável no módulo iosys".

Esquema de um Ligador[editar | editar código-fonte]

Ligador.png

O processo de linkedição, em geral, é um processo de dois passos. O ligador recebe como entrada um conjunto de arquivos objecto, bibliotecas e parâmetros na linha de controle e produz como resultado um arquivo objecto de saída. Neste passo é criada uma tabelas de segmentos listando todos os segmentos definidos nos arquivos-fonte e uma tabela de símbolos com todos os símbolos importados ou exportados. O ligador atribui localizações numérica para cada símbolo, determina o tamanho e a localização dos segmentos no espaço de endereços de saída. O segundo passo usa a informação coletada no primeiro passo para controlar a relização da linkedição de fato. Neste passo se ajustam os endereços de memória no código, refletindo os endereços de segmentos realocados, e se escreve o código realocado no arquivo de saída

Referências

  1. Levine, John R.. Linkers & Loaders. San Francisco: Morgan Kaufmann Publishers, 2000. 256 pp. ISBN1-55860-496-0

Bibliografia[editar | editar código-fonte]

  • Levine, John R.. Linkers & Loaders. San Francisco: Morgan Kaufmann Publishers, 2000. 256 pp. ISBN1-55860-496-0

Ligações externas[editar | editar código-fonte]

  • Leon Presser, John R. White: Linkers and Loaders. ACM Computing Surveys, Volume 4, Number 3, September 1972, pp. 149–167 [1]
  • David Salomon, Assemblers and Loaders. 1993 [2]

Ver também[editar | editar código-fonte]

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.