유닉스 링커가 "ld"인 이유


29

웹을 검색하려고했는데 답을 찾지 못했습니다. "로드"와 관련이있을 수 있지만 그다지 의미가 없습니다.

분명히 "ln"은 이미 사용되었지만 "d"는 어디에서 왔습니까?


로드 하기 전에 링크가 나타나는 것을 단호하게 어떻게 알 수 있습니까?
94239

나는 그렇지 않을 것이고, 그것에 대해 잘못되었을 수도 있습니다.
Sebastian Redl

그러나 당신이 바로 내 사랑이 될 수 참조 여기 (에서 링크 여기 (에서 링크 여기 (에서 링크 여기에 이미이 있음))) ln만큼 arld초판 UNIX의 약에 1971. 나는 살아있는 작가들이 이런 종류의 일화를 잊기 시작했을 까봐 두렵습니다.
94239

답변:


42

Linux의 링커는 원래 로더라고했습니다. Jeff Duntemann의 어셈블리 언어 단계별 : Linux사용한 프로그래밍을 참조하십시오 .

객체 코드 파일 연결

... Linux에는 ld라는 자체 링커가 있습니다. (이름은 실제로 "load"의 줄임말이고, "loader"는 1970 년대에 Unix의 첫 시대에 링커가 처음에 불려지는 이름이었습니다.


3
"로드 중"이라는 용어는 여전히 사용됩니다. 프로그램을 시작할 때 프로그램이 일부 메모리 영역에로드되고 "링크"와 동일한 동작이 발생합니다. 동적 / 런타임 링크 때문일뿐입니다. John R. Levine (ISBN : 1558604960)의 로더 "는 모든 세부 사항을 알고 싶은 사람들에게 좋은 책입니다.
johannes

4
제발, 제발, 제발, 사람들, 유닉스가 발명되기 전에 컴퓨터와 소프트웨어 및 운영 체제 DID가 존재한다는 것을 기억하십시오. "로더를 재배치 (또는 재배치 가능 : 두 용어는 공통)"와 같이 "로더"라는 용어는 Unix 이전에 LONG으로 거슬러 올라갑니다. 나는 1970
년경에 처음 봤는데

@ JohnR.Strohm : 이것은 내 연결된 인용문과 거의 같습니다.
Robert Harvey

1
@RobertHarvey : 제가 만들고자하는 요점은 "로더"라는 용어가 "1970 년대 유닉스의 첫 시대"이전으로 거슬러 올라간다는 것입니다.
John R. Strohm

1
@ JohnR.Strohm : 그 문제가 확실하지 않습니다. 그러나 역사적으로 정확하기 위해서는 권위있는 참조로 자유롭게 편집하십시오.
Robert Harvey

12

"링크 편집기"이기 때문입니다. 예를 들어, Solaris 및 AIX 매뉴얼 페이지는 다음과 같이 명시 적으로 말합니다.

이 질문에 대한 의견에는 1971 UNIX 매뉴얼 페이지에 대한 매우 흥미로운 링크 가 있습니다. ld-link editorld 를 명시 적으로 설명 하는 매뉴얼 페이지가 있습니다. man12.pdf 파일 (페이지 20)을 참조하십시오 .

NAME ld-링크 편집기

Wikipedia 는 다른 이론이 있으며 하나는 "로더"이고 다른 하나는 "링크 편집기"라고 언급합니다.

사이드 노트-1971 년에는 놀라운 정규 표현이 이미 존재했습니다 ...


인터넷에서도 찾을 수있는 증거가 추가되었습니다. 이제 -1의 이유를 알려주십시오.
user155813

1
투표하지 않아서 아무 이유도 줄 수 없습니다. 다른 사람들은 당신의 대답이 너무 얇다 고 느꼈을 것입니다.
Martijn Pieters

2
이 답변이 더 좋습니다. ld는 아무것도로드하지 않으므로 링크 편집기 또는 링커입니다. ld.so는 링커 및 로더입니다.
Miroslav Franc

1
1971 년 man 페이지에 링크 비트 부패에 손실
플로리안 카스텔란을
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.