13

リンカは、実行時にどのシンボルを解決する必要があるかをどのように知るのですか?特に、実行時にシンボルを解決するようにリンカーに指示する共有オブジェクトファイルがどのような情報を持っているかに興味があります。動的シンボル解決は実行時にどのように機能しますか?つまり、シンボルを見つけるために実行可能ファイルは何をしますか?同じ名前の複数のシンボルが定義されている場合、それらは見つかりますか?

ファイルが静的にのみリンクされていて、実行時に共有ライブラリの一部として動的にリンクされている場合はどうなりますか?実行可能ファイルで使用されるシンボルはどれですか?言い換えると、実行可能ファイルのシンボルを共有ライブラリにリンクすることで、それらのシンボルをオーバーライドすることは可能ですか?

問題のプラットフォームはSUNOSです。

4

3 に答える 3

4

以下のリンクをお試しください。それがあなたの質問に答えることを願っています

http://www.linuxjournal.com/article/6463

于 2010-10-05T13:05:51.510 に答える
3

LinuxJournalのこの記事をチェックしてください。詳細については、おそらくWindows、AIX、OSxなどに特に関連していますが、リンカー(コンピューティング)とその中のリファレンスに関するウィキペディアの記事をお勧めします。

于 2010-10-05T13:09:45.793 に答える
0

ファイルが静的にリンクされている場合、実行時の解決策はありません。共有オブジェクトが動的または静的に同じライブラリにリンクしている場合、ライブラリにリンクされているバージョンは、ライブラリで実行されるコードにのみ影響します。これは、互換性のない同じライブラリの2つの異なるバージョンにリンクし、データを前後にシフトする場合に問題を引き起こす可能性があります。

于 2010-10-05T13:55:58.717 に答える