2016-05-18 2 views
0

Я узнаю о malloc и понимаю, для чего он используется. Мне интересно, если malloc написан на C. Если это так, я бы хотел увидеть код, который его определяет. Кто-нибудь знает, где я могу найти определение malloc?Где malloc определен в коде?

EDIT:

Я в курсе этой ссылке (и многие, как это на Google) http://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html, но это не определение кода таНос. Я ищу исходный файл (если он существует), где определяется malloc. То, что выглядит как этот

void *malloc(size_t size) { 
    // code for how malloc is implemented 
} 
+0

Прочитайте это: http://web.eecs.utk.edu/~huangj/cs360/360/notes/Malloc1/lecture.html –

+0

существует множество реализаций, поиск 'doug lea malloc' как его самого популярного – GeorgeAl

+0

Проверьте код 'glibc' shource. –

ответ

1

malloc() определен в стандартной библиотеке, что касается всех ароматов unix и, возможно, больше, поскольку стандартная библиотека принадлежит библиотеке C. Независимо от того, какая система имеет библиотеку C и C API, можно, по крайней мере, ожидать, что она будет иметь malloc.

Вот несколько больше (кроме выше упомянутых GNU) ссылки с исходным кодом:

NET BSD malloc
OSX malloc

Некоторые старые UNIX системы (IRIX, например), рядом с того, стандартная библиотека malloc() также используется, чтобы a быстроlibmalloc осуществления.

Пожалуйста, также взгляните на это SO post.

Смежные вопросы