Dlaczego linker uniksowy nazywa się „ld”

29

Próbowałem przeszukać sieć i nie mogłem znaleźć odpowiedzi. Może to mieć coś wspólnego z „ładowaniem”, ale to nie ma dla mnie większego sensu.

Oczywiście „ln” zostało już zabrane, ale skąd się bierze to „d”?

Sebastian Redl
źródło
Skąd miałbyś wiedzieć, że linkowanie pojawiło się przed załadowaniem ?
94239
Nie zrobiłbym tego i mogę się mylić.
Sebastian Redl
Ale można mieć rację kochanie, patrz tutaj (związany z tutaj (związany z tutaj (związany z tutaj ))), że nie jest już lntak długo, jak ari ldw pierwszej edycji UNIX ca. 1971. Obawiam się, że żywi autorzy mogą zacząć zapominać o takiej anegdocie.
94239

Odpowiedzi:

42

Linkery w Linuksie były pierwotnie nazywane modułami ładującymi. Zobacz Asembler krok po kroku: Programowanie w Linuksie przez Jeff Duntemann:

Łączenie pliku kodu obiektu

... Linux ma własny linker o nazwie ld. (Nazwa jest w rzeczywistości skrótem od „load”, a „loader” był tak nazywany linkerem w Pierwszej Erze Uniksa w latach 70.).

Robert Harvey
źródło
3
Zwróć uwagę, że termin „ładowanie” jest nadal używany - podczas uruchamiania programu jest ładowany w pewnym obszarze pamięci i do pewnego stopnia zachodzą takie same operacje, jak w przypadku „łączenia”, nie tylko ze względu na łączenie dynamiczne / środowisko wykonawcze. Ładowarki ”Johna R. Levine'a (ISBN: 1558604960) to dobra książka dla tych, którzy chcą poznać wszystkie szczegóły.
johannes
4
Proszę, proszę, ludzie, proszę pamiętać, że komputery, oprogramowanie i systemy operacyjne DID istnieją przed wynalezieniem Uniksa. Termin „moduł ładujący”, podobnie jak w przypadku „przenoszenia (lub przenoszenia: oba terminy były wspólne) łączenie modułu ładującego”, wraca do LONG przed Unixem. Po raz pierwszy zetknąłem się z nim około 1970 roku i byłbym BARDZO zaskoczony, gdyby w 1960 roku nie przeniesiono ładowarek łączących.
John R. Strohm,
@ JohnR.Strohm: To właśnie mówi mój cytowany link.
Robert Harvey
1
@RobertHarvey: Chciałem nadmienić, że termin „loader” sięga dawno temu PRZED „First Age of Unix, w latach 70-tych”.
John R. Strohm,
1
@ JohnR.Strohm: Nie jestem pewien, czy to się liczy. Jednak w celu zachowania historycznej precyzji możesz je edytować w autorytatywnych źródłach.
Robert Harvey
12

Ponieważ jest to „edytor linków”. Na przykład strony podręcznika Solaris i AIX wyraźnie to mówią:

W komentarzu do pytania znajduje się niezwykle interesujący link do stron podręcznika UNIX z 1971 roku. Istnieje ldstrona man, która wyraźnie określa edytor ld - link , patrz plik man12.pdf (strona 20) :

NAME ld - edytor linków

Wikipedia wspomina, że ​​istnieją różne teorie, jedna to „moduł ładujący”, jedna to „edytor linków”.

Sidenote - niesamowite, regularne wyrażenia istniały już w 1971 roku ...

użytkownik155813
źródło
Dodano dowód, niezwykle łatwy do znalezienia nawet w Internecie. Teraz proszę podać powód -1.
user155813,
1
Nie głosowałem, więc nie mogę podać żadnych powodów. Inni mogli uważać, że twoja odpowiedź była zbyt cienka na ziemi.
Martijn Pieters,
2
Znalazłem tę odpowiedź lepiej. ld jest zdecydowanie edytorem linków lub linkerem, ponieważ niczego nie ładuje. ld.so jest zarówno łącznikiem, jak i modułem ładującym.
Miroslav Franc
1
link do strony podręcznika użytkownika z 1971 r. został zepsuty
Florian Castellane