2014-10-07 93 views
1

我跟在this example上攔截類中的C++函數。用LD_PRELOAD攔截C++類的構造函數

但是現在我想攔截類的構造函數和析構函數,而不僅僅是成員函數。

在這個例子中,他的確是typedef unsigned int (Foo::*methodType)() const;。我不認爲你可以在C++中使用typedef構造函數/析構函數。

我該怎麼做?

+0

這是一個可怕的黑客,但我猜想,一個構造函數和析構函數的行爲就像一個'空白(美孚步驟: :*方法)()'方法,可能是僞造的。用反彙編測試一下,或者對平臺的ABI進行一些研究,應該能夠證實這一點。 – 2014-10-07 20:57:09

回答