Unixリンカーが「ld」と呼ばれるのはなぜですか


29

ウェブを検索しようとしましたが、答えが見つかりませんでした。「ロード」と関係があるかもしれませんが、それはあまり意味がありません。

明らかに、「ln」はすでに使用されていますが、「d」はどこから来たのでしょうか?


ロード前にリンクが表示されたことをどのように断言しますか?
94239

私はそうしないだろうし、それについて間違っているかもしれない。
セバスチャンレッド

しかし、あなたは右の私の愛するは、参照することができ、ここで(からリンクされているここからリンクされている(ここでは(からリンクされているここでは、すでに存在していること)))ln限りとarし、ld最初の版UNIX約中 1971年。生きている著者たちがこの種の逸話を忘れ始めているのではないかと思う。
94239 14

回答:


42

Linuxのリンカーは、元々ローダーと呼ばれていました。アセンブリ言語のステップバイステップ: Jeff DuntemannによるLinuxでのプログラミングを参照してください。

オブジェクトコードファイルのリンク

... Linuxには、ldと呼ばれる独自のリンカーが付属しています。(名前は実際には「ロード」の略であり、「ローダー」は、1970年代のUnixの初期時代に、リンカが元々呼ばれていたものでした。)


3
「ロード」という用語がまだ使用されていることに注意してください-プログラムを起動すると、メモリ領域にロードされ、動的/実行時リンクだけでなく、「リンク」と同じ操作がある程度行われます。 John R. Levineの「ローダー」(ISBN:1558604960)は、すべての詳細を知りたい人にとっては良い本です。
ヨハネス14

4
Unixが発明される前に、コンピューター、ソフトウェア、およびオペレーティングシステムのDIDが存在することを思い出してください。「ローダー」という用語は、「ローダーの再配置(または再配置可能:両方の用語が共通)」のように、Unixの前のLONGに戻ります。I最初のおよそ1970年のそれに走った、と1960年にリンクローダーが再配置されていない場合、私は非常に驚いているはずだ
ジョン・R. Strohm

@ JohnR.Strohm:これは、リンクされた引用文の内容とほぼ同じです。
ロバートハーヴェイ14

1
@RobertHarvey:私がやろうとしていたポイントは、「ローダー」という用語が「1970年代に遡るUnixの最初の時代」よりも前にさかのぼることです。
ジョンR.ストローム14

1
@ JohnR.Strohm:それが重要かどうかわかりません。ただし、歴史的に正確であるために、信頼できる参照で自由に編集してください。
ロバートハーベイ14

12

「リンクエディター」だからです。たとえば、SolarisおよびAIXのマニュアルページには次のように明記されています。

質問へのコメントには、1971年のUNIX manページへの非常に興味深いリンクがあります。ありld、明示的に述べてmanページ、LDを-リンクエディタは、参照man12.pdfファイル(20ページ)

NAME ld-リンクエディター

ウィキペディアは、さまざまな理論があり、1つは「ローダー」、1つは「リンクエディター」であると述べています。

サイドノート-1971年には驚くべき正規表現がすでに存在していました...


証明が追加され、インターネットでも非常に簡単に見つけることができます。次に、-1の理由を入力してください。
user155813 14

1
投票しなかったので、理由を述べることはできません。他の人はあなたの答えが地上では薄すぎると感じたかもしれません。
マーティンピーターズ14

2
私はこの答えをよりよく見つけます。ldは何もロードしないため、間違いなくリンクエディターまたはリンカーです。ld.soはリンカーとローダーの両方です。
ミロスラフフラン14年

1
1971年のマニュアルページへのリンクが少し腐敗して失われた
Florian Castellane
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.