あさの と申します。 Linux などで、標準的なダイナミックリンクより、高速にプログラムが起動でき、 実行も高速になるという技術の一つとして、pre-link (pre-linker, pre-linking) が あるという話を聞いたのですが、WEB の検索などでいろいろ探してみたのですが、 どういう仕組みのものなのか、どうやって使うのかなど、まだ良く理解できていません。 聞いた話ですと、コンパイルあるいは実行モジュール作成時に、 ある程度関数などのアドレス解決してしまうのだが、 ランタイム時の用法としては、共有ライブラリと同じように取り扱える らしいです。 想像だと、最近の有用な共有ライブラリを使う場合、それらの共有ライブラリは かなり大きくなって、かつ未解決アドレスがかなりあるので、 それらを使うプログラム起動時に結構それの解決に時間がかかっているかと 思っているのですが、そのあたりの解決法の一つかと思ったりしてます。 あとは、c++ などの仮想関数などの解決などで、高速な方法があるのかなぁと 思ったりもしてます。 標準的な gcc とか binutils (as, ld) で使えるものなのかなども気になったりしてます。 最初 共有ライブラリの PRELOAD のことかと思ったですが、どうやら違うみたいです。 なにかご存知の情報(源)がありましたら、ご教授願えないでしょうか。 よろしくお願いします。 -- あさの
Follow-Ups:
- [linux-users:88054] Re: pre-linkKUSANO Takayuki
- [linux-users:88056] Re: pre-linkkaz Kojima
- Prev by Subject: [linux-users:88052] Re: アドレス変換について
- Next by Subject: [linux-users:88054] Re: pre-link
- Previous by thread: [linux-users:88052] Re: アドレス変換について
- Next by thread: [linux-users:88054] Re: pre-link
- Indexes:[Main][Thread]