Почему линкер Unix называется «ld»


29

Попытка поиска в Интернете и не смог найти ответ. Возможно, это как-то связано с «нагрузкой», но для меня это не имеет особого смысла.

Очевидно, что «ln» уже было взято, но откуда это «d»?


Как вы узнали бы, что ссылки появились до загрузки ?
94239

Я бы не стал, и вполне может ошибаться.
Себастьян Редл

Но вы можете быть правы мой дорогой, см здесь (связанный с здесь (связан с здесь (связан с здесь ))) , что уже существует до lnтех пор , как arи ldв первом издании UNIX ca. 1971. Боюсь, что живые авторы могут начать забывать этот анекдот.
94239,

Ответы:


42

Линкеры в Linux изначально назывались загрузчиками. См. Пошаговый язык ассемблера: программирование под Linux Джеффа Дюнтманна:

Связывание файла объектного кода

... Linux поставляется с собственным компоновщиком, который называется ld. (На самом деле это название сокращенно от «load», и «loader» был тем, что изначально называли компоновщиками, в эпоху Первой Эпохи Unix, еще в 1970-х годах.)


3
Обратите внимание, что термин «загрузка» все еще используется - при запуске программы она загружается в некоторой области памяти и в некоторой степени выполняются те же операции, что и при «связывании», не только из-за динамического связывания / связывания во время выполнения. «Погрузчики» Джона Р. Левайна (ISBN: 1558604960) - хорошая книга для тех, кто хочет узнать все подробности.
Йоханнес

4
Пожалуйста, пожалуйста, пожалуйста, люди, пожалуйста, постарайтесь запомнить, что компьютеры, программное обеспечение и операционные системы DID существовали до изобретения Unix. Термин «загрузчик», как и в «перемещении (или перемещении: оба термина были общими), связывая загрузчик», восходит к LONG до Unix. Впервые я столкнулся с этим примерно в 1970 году, и я был бы ОЧЕНЬ удивлен, если бы в 1960 году не было перенесено связывание загрузчиков.
John R. Strohm

@ JohnR.Strohm: Что в значительной степени соответствует моей связанной цитате.
Роберт Харви

1
@RobertHarvey: Я пытался подчеркнуть, что термин «загрузчик» восходит к «ДО первой эры Unix, в 1970-х».
Джон Р. Штром

1
@ JohnR.Strohm: я не уверен, что это важно. Тем не менее, в интересах исторической точности, не стесняйтесь редактировать в авторитетной справке.
Роберт Харви

12

Потому что это «редактор ссылок». Например, справочные страницы Solaris и AIX явно говорят так:

В комментарии к вопросу есть чрезвычайно интересная ссылка на справочные страницы UNIX 1971 года. Существует ldстраница руководства , в которой явно указывается редактор ld-link , см. Файл man12.pdf (стр. 20) :

NAME ld - редактор ссылок

В Википедии упоминается, что существуют разные теории, одна из них - «загрузчик», другая - «редактор ссылок».

Sidenote - удивительные, регулярные выражения уже существовали в 1971 году ...


Доказательство добавлено, очень легко найти даже в интернете. Теперь, пожалуйста, укажите причину -1.
user155813

1
Я не голосовал, поэтому не могу дать вам никаких причин. Другие, возможно, чувствовали, что ваш ответ был слишком тонким на земле.
Мартейн Питерс

2
Я нахожу этот ответ лучше. ld - это определенно редактор ссылок или компоновщик, так как он ничего не загружает. ld.so является как компоновщиком, так и загрузчиком.
Мирослав Франк

1
ссылка на страницу 1971 людей теряются бита гнили
Флориан Кастеллан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.