ทำไมตัวเชื่อมโยง Unix ถึงเรียกว่า“ ld”


29

พยายามค้นหาเว็บและไม่สามารถหาคำตอบได้ มันอาจมีบางอย่างเกี่ยวกับ "การโหลด" แต่นั่นก็ไม่สมเหตุสมผลสำหรับฉัน

เห็นได้ชัดว่า "ln" ถูกใช้ไปแล้ว แต่นั่น "d" มาจากไหน


คุณจะรู้ได้อย่างไรว่าการเชื่อมโยงปรากฏขึ้นก่อนที่จะโหลด ?
94239

ฉันจะไม่และอาจผิดเกี่ยวกับเรื่องนั้น
Sebastian Redl

แต่คุณอาจจะเป็นที่รักของฉันดูที่นี่ (เชื่อมโยงจากที่นี่ (เชื่อมโยงจากที่นี่ (เชื่อมโยงจากที่นี่ ))) ว่ามีอยู่แล้วlnตราบใดที่arและldในรุ่นแรก UNIX แคลิฟอร์เนีย 1971 ฉันเกรงว่าผู้เขียนที่มีชีวิตอาจจะเริ่มลืมเรื่องเล็ก ๆ น้อย ๆ
94239

คำตอบ:


42

ตัวเชื่อมโยงใน Linux เดิมเรียกว่าโหลดเดอร์ ดูภาษาแอสเซมบลีทีละขั้นตอน: การเขียนโปรแกรมด้วย Linuxโดย Jeff Duntemann:

การเชื่อมโยงไฟล์รหัสวัตถุ

... Linux มาพร้อมกับลิงเกอร์ของมันเองที่เรียกว่า ld (ชื่อนี้จริง ๆ แล้วย่อมาจาก "load" และ "loader" เป็นสิ่งที่ linkers ถูกเรียกใช้ในยุคแรกของ Unix ย้อนกลับไปในปี 1970)


3
โปรดทราบว่าคำว่า "การโหลด" ยังคงใช้อยู่ - เมื่อเริ่มต้นโปรแกรมจะโหลดในพื้นที่หน่วยความจำบางส่วนและในระดับหนึ่งการดำเนินการเช่นเดียวกับ "การเชื่อมโยง" ไม่เพียงเกิดขึ้นเนื่องจากการเชื่อมโยงแบบไดนามิก / รันไทม์ .. " รถตัก "โดย John R. Levine (ISBN: 1558604960) เป็นหนังสือที่ดีสำหรับผู้ที่ต้องการทราบรายละเอียดทั้งหมด
โจฮันเนส

4
ได้โปรดได้โปรดได้โปรดผู้คนโปรดจำไว้ว่าคอมพิวเตอร์และซอฟต์แวร์และระบบปฏิบัติการมีอยู่ก่อนที่ Unix จะถูกประดิษฐ์ คำว่า "โหลดเดอร์" ในขณะที่ "ย้ายตำแหน่ง (หรือเปลี่ยนตำแหน่ง: ทั้งสองคำเป็นเรื่องธรรมดา) การลิงก์โหลดเดอร์" กลับไปที่ LONG ก่อนหน้า Unix ครั้งแรกที่ฉันวิ่งเข้าไปในประมาณ 1970 และฉันจะประหลาดใจมากถ้าไม่มีการย้ายเชื่อมโยงตักในปี 1960
John R. Strohm

@ JohnR.Strohm: อันไหนที่คำพูดของฉันพูดถึง
Robert Harvey

1
@ RobertHarvey: ประเด็นที่ฉันพยายามทำคือคำว่า "ตัวโหลด" ย้อนกลับไปก่อนหน้านี้นาน "ยุคแรกของ Unix ย้อนกลับไปในทศวรรษ 1970"
John R. Strohm

1
@ JohnR.Strohm: ฉันไม่แน่ใจว่าเรื่องนี้ อย่างไรก็ตามเพื่อประโยชน์ในการมีความแม่นยำในอดีตรู้สึกฟรีเพื่อแก้ไขในการอ้างอิงที่มีสิทธิ์
Robert Harvey

12

เพราะมันเป็น "เครื่องมือแก้ไขลิงก์" ตัวอย่างเช่นหน้าโซลาริสและ AIX บอกอย่างชัดเจนว่า:

ในความคิดเห็นเกี่ยวกับคำถามมีลิงค์ที่น่าสนใจอย่างมากไปยังหน้า man ของ UNIX ปี 1971 มีldman page ซึ่งระบุld - link editorอย่างชัดเจนดูไฟล์ man12.pdf (หน้า 20) :

NAME ld - ตัวแก้ไขลิงก์

วิกิพีเดียกล่าวว่ามีทฤษฎีต่าง ๆ หนึ่งคือ "ตัวโหลด" หนึ่งคือ "ตัวแก้ไขลิงก์"

Sidenote - มีการแสดงออกปกติที่น่าทึ่งในปี 1971 ...


เพิ่มหลักฐานง่ายมากที่จะหาแม้ในอินเทอร์เน็ต ตอนนี้โปรดระบุเหตุผลสำหรับ -1 ของ
user155813

1
ฉันไม่ได้ลงคะแนนดังนั้นฉันไม่สามารถให้เหตุผลอะไรได้เลย คนอื่นอาจรู้สึกว่าคำตอบของคุณบางเกินไปบนพื้น
Martijn Pieters

2
ฉันพบคำตอบนี้ดีกว่า ld เป็น link link หรือ linker อย่างแน่นอนเนื่องจากไม่โหลดอะไรเลย ld.so เป็นตัวเชื่อมโยงและตัวโหลด
Miroslav Franc

1
ลิงก์ไปยังหน้าเว็บมนุษย์ในปี 1971 หายไปเป็นบิตเน่า
Florian Castellane
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.