Код для malloc и бесплатный

Где я могу найти код для malloc, который мой gcc-компилятор сейчас использует? Я действительно хочу написать свою собственную функцию malloc, которая будет немного отличаться от оригинальной. Я знаю, что могу использовать hooks et all, но я хочу увидеть реальный код.

Ответ 1

Интерфейс POSIX malloc определен здесь.

Если вы хотите узнать, как библиотека C в GNU/Linux (glibc) реализует malloc, перейдите и получите исходный код из http://ftp.gnu.org/gnu/glibc/ и посмотрите файл malloc/malloc.c.

Существует также базовая документация Memory Allocator от Doug Lea, которая описывает теорию m ( emory) alloc (ator) (прочитайте это с уверенностью, а затем решите, действительно ли вам нужно реализовать свой собственный malloc).

Ответ 2

Посмотрите соответствующий выпуск glibc на старый сайт выпуска 1 или здесь. Например, если вы используете glib 2.9, он находится в этом архиве. Найдите файл malloc/malloc.c.

Вы увидите, что это не тривиальный фрагмент кода библиотеки.


1 Похоже, что они изменили структуру каталогов после glibc-2.9.

Ответ 4

Я могу просмотреть исходный код в Интернете здесь.