Ligador
Em computação, um ligador, vinculador ou editor de ligação (do inglês, linker ou link editor) é um programa utilitário que recebe um ou mais arquivos objeto gerados por um compilador e combina-os em um único arquivo executável, arquivo de biblioteca ou outro arquivo 'objeto'.[1]
Uma versão mais simples que escreve sua saída diretamente na memória é chamada de carregador, desta forma o carregamento é normalmente considerado um processo separado.[2]
Índice
1 Esquema de um Ligador
2 Ver também
3 Referências
4 Ligações externas
Esquema de um Ligador |
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 realizaçã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.
Ver também |
- Compilador
Referências
↑ Levine, John R. (2000). Linkers & Loaders. San Francisco: Morgan Kaufmann Publishers. 256 páginas. ISBN 1-55860-496-0
↑ IBM Corporation (1972). IBM OS Linkage Editor and Loader (PDF). [S.l.: s.n.]
Ligações externas |
- 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]