"共有ライブラリテキスト"と "共有ライブラリデータ"の違いは何ですか?また、共有ライブラリのデータを「事前移転」することはどういう意味ですか?この質問は、共有ライブラリーを含むいくつかのAIX固有の機能を参照しています。共有ライブラリ用語
答えて
ああ、それは難しい質問です。
申し訳ありませんが、それに答えるには、実行可能ファイルに2つのセグメントがあることを知っておく必要があります。「テキスト」セクションと「データ」セクションです。
「データ」セグメントには「実行されないもの」が含まれています。たとえば、プログラム内の文字列(たとえば、 "Command not found"という文字列は、/bin/sh
バイナリのデータセグメントに含まれます)。
"text"セグメントには、 "実行されるもの"が含まれています。
そして、 "pre-relocated" ...ここで移転がなぜ必要なのかについてのかなり良い説明があります:http://people.redhat.com/drepper/textrelocs.htmlとここに関わるもの:http://en.wikipedia.org/wiki/Relocation_(computer_science)。
これは役に立ちますか?
*:nitpickerノート:それは2以上のものを持っているが、それは今
メモリは4つのセグメントに分割されないことが重要だ - &ヒープを積み重ね、コード、データ。
「共有ライブラリテキスト」は、共有ライブラリのコード部分であり、ライブラリ内の機能を実装する実際の手順です。
"共有ライブラリデータ"は、ライブラリがロードされたときにすぐに割り当てられるグローバル変数、定数、静的なものなどの共有ライブラリのデータ部分です。
"事前移転された"ライブラリに関しては、ここに概念があります。共有ライブラリがロードされると、共有ライブラリは共有アドレス空間にマップされます。 "pre-relocated"ライブラリには、その共有アドレス空間のどこにOSをロードするべきかを示すヒントが組み込まれています。私の理解を超える理由から、それはパフォーマンスを向上させることになっています。
事前移転の良い説明。 –
これは、大変感謝してくれます。 –
事前再配置されたライブラリには、指定された "ヒント"ベースロードオフセットに対してすでに計算されたすべてのアドレスがあります。ライブラリをそのオフセットでロードできる場合は、ライブラリを再配置するためのロード時パッチはありません。それ以外の場合は、ハードコードされたアドレスの使用は、負荷オフセットに合わせて調整(または「修正」)する必要があります。ライブラリがヒントされたアドレスでロードされた場合、これはライブラリの初期ロード時間のパフォーマンスが大幅に向上します。 – Adisak
- 1. 共有ライブラリApp.Config
- 2. Websphere共有ライブラリ
- 3. G ++共有ライブラリ
- 4. 共有ライブラリ、ライブラリ依存性
- 5. 共有ライブラリのMakefile?
- 6. 共有ライブラリG ++エラーセグメンテーションフォールト
- 7. Mavenと共有ライブラリ
- 8. Artifactoryパイプラインステップ&共有ライブラリ
- 9. 共有ライブラリのファイルサイズ
- 10. NLog、Elmah +共有ライブラリ
- 11. オプションの共有ライブラリ
- 12. Android NDK共有ライブラリ
- 13. Cmake:リンク共有ライブラリ
- 14. 共有内部ライブラリ
- 15. Java EE共有ライブラリ?
- 16. Jniと共有ライブラリ
- 17. 共有ライブラリのpstack(c/C++)。破損した共有ライブラリ
- 18. 共有ライブラリ(旧スタンダード)をC++ 11共有ライブラリでコンパイルする
- 19. ELF用のプロキシ共有ライブラリ(sharedlib、shlib、so)?
- 20. Jenkins Pipeline共有ライブラリのバージョンを使用
- 21. 共有ライブラリを使用したクロスコンパイル
- 22. 利用できない共有ライブラリcom.android.hardware.usb
- 23. 利用できない共有ライブラリcom.google.android.maps
- 24. Xcp 2.2 Javaサービス用の共有ライブラリ
- 25. (MVC)共有ライブラリのコントローラ?
- 26. 共有ライブラリの相対パス
- 27. ブースト - 「静的」vs「共有」ライブラリ
- 28. jnaラッピング共有.soライブラリ - アクセスクラス
- 29. サンドボックス(libsandbox)共有ライブラリのエラー
- 30. にCMake、SWIG&共有ライブラリ
+1 - ちょうどそれに会い、ビッグリンクも! –
ありがとう!私はあなたの "前置かれた"記述が好きです。 –
恐ろしい答え、ありがとう! –