私は、C++ スタブ関数の使用方法が初めてです。
Linuxでスタブ共有ライブラリを作成する方法のリンクを調べましたが、
1) スタブが C++ コードで記述されている C++ の正確な完全なサンプル コードを取得できませんでした。誰かが正確なサンプル例を教えてくれますか?
2)また、スタブがLinuxでまったく同じ名前の共有ライブラリ関数にどのように置き換えられるかを調べていましたか?
誰かが私の2つの質問で私を助けてくれると助かります.
私は、C++ スタブ関数の使用方法が初めてです。
Linuxでスタブ共有ライブラリを作成する方法のリンクを調べましたが、
1) スタブが C++ コードで記述されている C++ の正確な完全なサンプル コードを取得できませんでした。誰かが正確なサンプル例を教えてくれますか?
2)また、スタブがLinuxでまったく同じ名前の共有ライブラリ関数にどのように置き換えられるかを調べていましたか?
誰かが私の2つの質問で私を助けてくれると助かります.
質問に直接答えるには:
1) スタブは C++ で記述されていません。スタブは、共有ライブラリに対してプログラムをリンクするたびに、リンカによって自動的に作成されます。それらは特定の言語に関連付けられていません。リンカーは、シンボル名のみに基づいて、各シンボルから直接バイナリ/asm スタブとしてそれらを作成します。
2) 動的リンカは、スタブを置換/書き換えて、実行時に見つかった実際の動的ライブラリ コードを呼び出します。
あなたの質問への答えは、動的リンクの黒魔術を理解することで得られます。この主題の徹底的な扱いについては、Ulrich Drepper のHow to Write Shared Libraiesを読んでください。