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.
... 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.).
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ą:
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
ln
tak długo, jakar
ild
w pierwszej edycji UNIX ca. 1971. Obawiam się, że żywi autorzy mogą zacząć zapominać o takiej anegdocie.Odpowiedzi:
Linkery w Linuksie były pierwotnie nazywane modułami ładującymi. Zobacz Asembler krok po kroku: Programowanie w Linuksie przez Jeff Duntemann:
źródło
Ponieważ jest to „edytor linków”. Na przykład strony podręcznika Solaris i AIX wyraźnie to mówią:
Solaris
ld
strona człowiekAIX
ld
strona człowiekW komentarzu do pytania znajduje się niezwykle interesujący link do stron podręcznika UNIX z 1971 roku. Istnieje
ld
strona man, która wyraźnie określa edytor ld - link , patrz plik man12.pdf (strona 20) :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 ...
źródło