Что означает «Сохранить основные хуки» в документации по хукам malloc? - PullRequest
1 голос
/ 13 июля 2011

Документацию по крючкам malloc можно найти здесь http://www.gnu.org/s/hello/manual/libc/Hooks-for-Malloc.html.

При реализации функции ловушек для malloc() и free() необходимо сохранить базовые ловушки.

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

Я понимаю зацепки malloc, но не эту часть. Почему old_malloc_hook установить снова. Я думал, что это дает ссылку (или что-то вроде этого) на оригинальную malloc() функцию?

Заранее спасибо:)

1 Ответ

2 голосов
/ 13 июля 2011

Идея состоит в том, что, как только ваша ловушка активирована, и ваша функция ловушки получает контроль, вы затем восстанавливаете любую существующую ловушку и возобновляете вызов внутрь к одному истинному malloc ().

Если каждая подсистема, которая хочетhook malloc делает это, затем активируются все ловушки, независимо от того, кто первый или последний пошел на установку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...