だからこれは私が見ているシナリオです:
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によってインターセプトされるのでしょうか。