0

いくつかの機能を傍受し、それらにいくつかの機能を追加したいと考えています。

llvm-project にインターセプターがあることがわかりました。 https://github.com/llvm/llvm-project/blob/1a2eaebc09c6a200f93b8beb37130c8b8aab3934/compiler-rt/lib/interception/interception.h

ドキュメントでは、INTERCEPTOR(return type, function name, args ...){} を定義し、INTERCEPT_FUNCTION(function name) を呼び出すことで、関数をインターセプトできると書かれています。

そこで、INTERCEPTOR(void, free, void* p){ //print message} を定義し、compiler-rt ファイルで INTERCEPT_FUNCION(free) を実行しました。

しかし、次のエラーが発生しました。

undefined reference to `__interception::InterceptFunction(char const*, unsigned long*, unsigned long, unsigned long)'

より多くの情報または実装が必要だと思います。

このエラーを解決する方法を知っている人はいますか?

ありがとうございました。

4

0 に答える 0