Por que o vinculador Unix é chamado de "ld"


29

Tentou pesquisar na web e não conseguiu encontrar uma resposta. Pode ter algo a ver com "load", mas isso não faz muito sentido para mim.

Obviamente, "ln" já foi tirado, mas de onde vem esse "d"?


Como você saberia assertivamente que o link apareceu antes do carregamento ?
94239

Eu não, e pode muito bem estar errado sobre isso.
Sebastian Redl

Mas você pode estar certo, minha querida, veja aqui (ligada a partir de aqui (ligada a partir de aqui (ligada a partir de aqui ))) que há já um ln, desde que o are ldna primeira edição UNIX ca. 1971. Receio que os autores vivos estejam começando a esquecer esse tipo de anedota.
94239 07/02

Respostas:


42

Os vinculadores no Linux foram originalmente chamados de carregadores. Veja Linguagem Assembly passo a passo: programação com Linux por Jeff Duntemann:

Vinculando o arquivo de código do objeto

... O Linux vem com seu próprio vinculador, chamado ld. (Na verdade, o nome é abreviação de "load", e "loader" era como os linkers eram originalmente chamados, na Primeira Era do Unix, na década de 1970.)


3
Observe que o termo "carregamento" ainda é usado - ao iniciar um programa, ele é carregado em alguma área da memória e, até certo ponto, ocorrem as mesmas operações de "vinculação", não apenas devido à vinculação dinâmica / runtime. " Loaders ", de John R. Levine (ISBN: 1558604960), é um bom livro para quem deseja conhecer todos os detalhes.
Johannes

4
Por favor, por favor, pessoal, por favor, tente lembrar que computadores, software e sistemas operacionais existiam antes do Unix ser inventado. O termo "carregador", como em "realocando (ou relocável: ambos os termos eram comuns) vinculando o carregador", remonta a LONG antes do Unix. A primeira vez que encontrei com ele por volta de 1970, e eu ficaria muito surpreso se não foram mudando carregadores ligando em 1960.
John R. Strohm

@ JohnR.Strohm: O que é praticamente o que minha citação vinculada diz.
9788 Robert

1
@RobertHarvey: O argumento que eu estava tentando destacar é que o termo "loader" remonta muito antes de "a Primeira Era do Unix, na década de 1970".
John R. Strohm

1
@ JohnR.Strohm: Não sei se isso importa. No entanto, no interesse de ser historicamente preciso, fique à vontade para editar em uma referência autorizada.
9788 Robert

12

Porque é "editor de links". Por exemplo, as páginas de manual do Solaris e do AIX dizem explicitamente:

No comentário à pergunta, há um link extremamente interessante para as páginas de manual do UNIX de 1971. Há uma ldpágina de manual, que declara explicitamente o editor de link-ld , consulte o arquivo man12.pdf (página 20) :

NAME ld - editor de links

A Wikipedia menciona que existem diferentes teorias, uma é "loader" e outra é "editor de links".

Sidenote - surpreendentes expressões regulares já existiam em 1971 ...


Prova adicionada, extremamente fácil de encontrar, mesmo na internet. Agora forneça o motivo dos -1's.
user155813

1
Eu não votei, então não posso lhe dar nenhuma razão. Outros podem ter achado que sua resposta era muito pequena no chão.
Martijn Pieters 11/11

2
Acho esta resposta melhor. Definitivamente, o ld é editor ou vinculador de links, pois não carrega nada. O ld.so é vinculador e carregador.
Franc Miroslav

1
link para a página 1971 o homem está perdido para bit rot
Florian Castellane
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.