gold
リンカーを使った人はいますか?かなり大きなプロジェクトをリンクするには、GNUの代わりにこれを使用する必要がありますが、ld
エラーが発生して接続に失敗します。
リンカーは失敗した大規模プロジェクトをどのようにgold
リンクできますか?ld
一種のメモリ不正行為はありますか?
ベストアンサー1
このリンカーは、BFD(「従来の」GNU binutilsリンカー)よりもメンテナンスが簡単で高速なリンカーをgold
作成することを目的としたELF関連リンカーとして設計されています。ld
副作用として、BFDより少ないメモリを使用して非常に大きなプログラムを接続することができますld
。おそらく、処理する抽象化層が少なく、リンカのデータ構造がELF形式に直接マッピングされているからです。
2つのリンカー間のデザインの違いと、メモリ使用量に与える影響を具体的に説明する文書がどれだけ多いかはわかりません。非常に興味深い点があります。リンカーに関する記事シリーズ著者:さまざまなGNUリンカーの著者であるIan Lance Taylorが.heの原因を説明していますgold
。書くそれ
私が今使っているリンカーはgoldと呼ばれ、私の3番目のリンカーになります。それは単なるELFリンカーです。繰り返しますが、目標はスピードです。この場合、2番目のリンカーよりも高速です。長年にわたり、リンカーはELFと共有ライブラリのサポートを追加することで大幅に遅くなりました。このサポートは設計されたものではなくパッチされています。
(2番目のリンカーはBFDですld
。)