2011-07-13 16 views
1

mallocフックのドキュメントはhttp://www.gnu.org/s/hello/manual/libc/Hooks-for-Malloc.htmlにあります。mallocフックの文書に「下にあるフックを保存する」とはどういう意味ですか?

malloc()free()のフック機能を実装する場合、基礎となるフックを保存する必要があります。

/* Save underlying hooks */ 
old_malloc_hook = __malloc_hook; 
old_free_hook = __free_hook; 

私はmallocフックを理解していますが、この部分は理解していません。なぜold_malloc_hookを再度設定する必要がありますか。私はそれが元のmalloc()機能に参照(またはこのようなsth)を与えると思った?事前に

感謝:)

答えて

2

アイデアが)あなたのフックが活性化し、あなたのフック関数が制御を持っていると、あなたがして、既存のフックを復元し、1つの真のmalloc(に向かって内側に呼び出しを再開していることです。

mallocをフックしたいすべてのサブシステムでこれが行われる場合、セットアップの最初または最後に関係なく、すべてのフックがアクティブになります。

関連する問題