Чому лінкер 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) - це хороша книга для тих, хто хоче знати всі подробиці.
johannes

4
Будь ласка, будь ласка, люди, будь ласка, спробуйте пам’ятати, що комп'ютери та програмне забезпечення та операційні системи DID існували до винайдення Unix. Термін "навантажувач", як у "переїзді (або переїзді: обидва терміни були загальними), що пов'язує навантажувач", повертається до LONG перед Unix. Я вперше зіткнувся з цим приблизно в 1970 році, і я був би дуже здивований, якби в 1960 році не було переміщення сполучних навантажувачів.
Джон Р. Строхм

@ JohnR.Strohm: Це майже все, що говорить моя пов'язана цитата.
Роберт Харві

1
@RobertHarvey: Я намагався зауважити, що термін "навантажувач" давно переходить до "Першої ери Unix, ще в 1970-х".
Джон Р. Стром

1
@ JohnR.Strohm: Я не впевнений, що це має значення. Однак, щоб бути історично точним, не соромтесь редагувати в авторитетному посиланні.
Роберт Харві

12

Тому що це "редактор посилань". Наприклад, сторінки Solaris та Man AIX прямо говорять так:

У коментарі до питання є надзвичайно цікаве посилання на чоловічі сторінки UNIX 1971 року. Існує ldсторінка man, на якій прямо вказано редактор ld - посилань , див. Файл man12.pdf (стор. 20) :

NAME ld - редактор посилань

У Вікіпедії зазначається, що існують різні теорії, одна - "завантажувач", одна - "редактор посилань".

Sidenote - дивовижні, регулярні вирази вже існували в 1971 році ...


Доказ додано, надзвичайно просто знайти навіть в Інтернеті. Тепер, будь ласка, вкажіть причину для -1-х.
користувач155813

1
Я не голосував, тому не можу вам навести причин. Інші, можливо, відчули, що ваша відповідь занадто тонка на землі.
Martijn Pieters

2
Я вважаю цю відповідь краще. ld - це безумовно редактор посилань або лінкер, оскільки він нічого не завантажує. ld.so є і лінкером, і завантажувачем.
Мирослав Франк

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