Ligador
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".
Índice |
Esquema de um Ligador [editar]
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
- ↑ Levine, John R.. Linkers & Loaders. San Francisco: Morgan Kaufmann Publishers, 2000. 256 p. ISBN1-55860-496-0
Bibliografia [editar]
- Levine, John R.. Linkers & Loaders. San Francisco: Morgan Kaufmann Publishers, 2000. 256 p. ISBN1-55860-496-0
Ligações externas [editar]
- 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]