我跟着this example拦截了一个类中的C ++函数。
但是现在我想拦截类的构造函数和析构函数,而不仅仅是成员函数。
在示例中,他执行typedef unsigned int (Foo::*methodType)() const;
。我不认为你可以在c ++中输入构造函数/析构函数。
我该怎么做?
答案 0 :(得分:1)
我试过了
typedef void (QDBusConnection::*MyFunction)();
并且它有效,我可以用(this->*origMethod)();
来调用它,即使origMethod是一个析构函数并且没有返回说明符。
我在这里编写了关于如何拦截析构函数和静态类函数的步骤
http://www.osletek.com/learning-center/150/Intercepting_C%2B%2B_functions_using_LD_PRELOAD