だからこれは私が見ているシナリオです:
A、B、Cの3つのライブラリがあります。
- ライブラリAは関数
foo()
を実装し、それをAPIとして公開します。 - 関数
foo()
はPOSIXwrite()
呼び出しを呼び出して、データを書き込みます。 - ライブラリBは
write()
、linker-wrapオプションを使用してglibc呼び出しにラッパーを書き込みます。 - ライブラリCはAとBの両方にリンクしています。
ライブラリwrite()
Cが行う呼び出しは、ラッパーライブラリBによってインターセプトされます。しかし、私の質問は、ライブラリCが呼び出す場合foo()
、write()
foo()内の呼び出しはBによってインターセプトされるのでしょうか。