¿Por qué el enlazador de Unix se llama "ld"

29

Intenté buscar en la web y no pude encontrar una respuesta. Puede tener algo que ver con "cargar", pero eso no tiene mucho sentido para mí.

Obviamente, "ln" ya fue tomado, pero ¿de dónde viene esa "d"?

Sebastian Redl
fuente
¿Cómo sabrías asertivamente que la vinculación apareció antes de cargar ?
94239
No lo haría, y bien podría estar equivocado sobre eso.
Sebastian Redl
Pero podrías estar en lo cierto, querida, mira aquí (vinculado desde aquí (vinculado desde aquí (vinculado desde aquí ))) que ya hay un lntiempo tan largo como el ary lden la primera edición UNIX ca. 1971. Me temo que los autores vivos pueden estar comenzando a olvidar este tipo de anécdotas.
94239

Respuestas:

42

Los enlazadores en Linux originalmente se llamaban cargadores. Vea el lenguaje de ensamblaje paso a paso: Programación con Linux por Jeff Duntemann:

Vinculación del archivo de código de objeto

... Linux viene con su propio enlazador, llamado ld. (El nombre en realidad es la abreviatura de "carga", y "cargador" era como se llamaban originalmente los enlazadores, en la Primera Era de Unix, en la década de 1970).

Robert Harvey
fuente
3
Tenga en cuenta que el término "carga" todavía se utiliza: cuando se inicia un programa, se carga en un área de memoria y, en cierto grado, se producen las mismas operaciones que con "vinculación", no solo debido a la vinculación dinámica / en tiempo de ejecución ... " Loaders "de John R. Levine (ISBN: 1558604960) es un buen libro para quienes desean conocer todos los detalles.
johannes
44
Por favor, por favor, gente, por favor, recuerden que las computadoras y el software y los sistemas operativos existían antes de que se inventara Unix. El término "cargador", como en "reubicar (o reubicable: ambos términos eran comunes) vincular cargador" se remonta a LARGO antes de Unix. La encontré por primera vez alrededor de 1970, y estaría MUY sorprendido si no se reubicaran los cargadores de enlace en 1960.
John R. Strohm
@ JohnR.Strohm: que es más o menos lo que dice mi cita vinculada.
Robert Harvey
1
@RobertHarvey: El punto que estaba tratando de hacer es que el término "cargador" se remonta a mucho ANTES de "la Primera Era de Unix, en la década de 1970".
John R. Strohm
1
@ JohnR.Strohm: No estoy seguro de que eso importe. Sin embargo, en aras de ser históricamente preciso, siéntase libre de editar en una referencia autorizada.
Robert Harvey
12

Porque es "editor de enlaces". Por ejemplo, las páginas de manual de Solaris y AIX lo dicen explícitamente:

En el comentario a la pregunta hay un enlace extremadamente interesante a las páginas de manual de UNIX de 1971. Hay una ldpágina de manual, que establece explícitamente ld - editor de enlaces , vea el archivo man12.pdf (página 20) :

NAME ld - editor de enlaces

Wikipedia menciona que existen diferentes teorías, una es "cargador" y otra es "editor de enlaces".

Nota al margen: sorprendentes expresiones regulares ya existían en 1971 ...

usuario155813
fuente
Prueba agregada, extremadamente fácil de encontrar incluso en internet. Ahora por favor proporcione la razón de -1.
user155813
1
No voté, así que no puedo darte ninguna razón. Otros pueden haber sentido que su respuesta era demasiado delgada en el suelo.
Martijn Pieters
2
Encuentro esta respuesta mejor. ld es definitivamente editor de enlaces o enlazador ya que no carga nada. ld.so es a la vez enlazador y cargador.
Miroslav Franc
1
el enlace a la página del manual de 1971 se perdió por la putrefacción
Florian Castellane