2014-10-07 65 views
1

我跟在this example上拦截类中的C++函数。用LD_PRELOAD拦截C++类的构造函数

但是现在我想拦截类的构造函数和析构函数,而不仅仅是成员函数。

在这个例子中,他的确是typedef unsigned int (Foo::*methodType)() const;。我不认为你可以在C++中使用typedef构造函数/析构函数。

我该怎么做?

+0

这是一个可怕的黑客,但我猜想,一个构造函数和析构函数的行为就像一个'空白(美孚步骤: :*方法)()'方法,可能是伪造的。用反汇编测试一下,或者对平台的ABI进行一些研究,应该能够证实这一点。 – 2014-10-07 20:57:09

回答