[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:88053] pre-link


あさの と申します。

Linux などで、標準的なダイナミックリンクより、高速にプログラムが起動でき、
実行も高速になるという技術の一つとして、pre-link (pre-linker, pre-linking) が
あるという話を聞いたのですが、WEB の検索などでいろいろ探してみたのですが、
どういう仕組みのものなのか、どうやって使うのかなど、まだ良く理解できていません。

聞いた話ですと、コンパイルあるいは実行モジュール作成時に、
ある程度関数などのアドレス解決してしまうのだが、
ランタイム時の用法としては、共有ライブラリと同じように取り扱える
らしいです。

想像だと、最近の有用な共有ライブラリを使う場合、それらの共有ライブラリは
かなり大きくなって、かつ未解決アドレスがかなりあるので、
それらを使うプログラム起動時に結構それの解決に時間がかかっているかと
思っているのですが、そのあたりの解決法の一つかと思ったりしてます。

あとは、c++ などの仮想関数などの解決などで、高速な方法があるのかなぁと
思ったりもしてます。

標準的な gcc とか binutils (as, ld) で使えるものなのかなども気になったりしてます。

最初 共有ライブラリの PRELOAD のことかと思ったですが、どうやら違うみたいです。

なにかご存知の情報(源)がありましたら、ご教授願えないでしょうか。

よろしくお願いします。

-- あさの

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: