Si con eso te refieres tan solo al kernel, verás que no hay ninguna llamada al sistema "malloc". Hay brk(), que simplemente aumentan el tamaño del heap y mmap() que reserva zonas completas de memoria, normalmente del tamaño de páginas.
mmap() funciona en espacio de usuario y hace uso de estas llamadas. Tú puedes usar el malloc por defecto en tu sistema, o usar el tuyo propio(en Solaris vienen varias implementaciones de malloc).
--
Programs should be written for people to read,
and only incidentally for machines to execute
Para windows, como siempre estas cosas son un poco más difíciles... siguiendo el enlace que puse ayer a toda prisa, se llega a Patching the Windows CRT [smedbergs.us]:
On Linux, intercepting and replacing malloc is fairly easy, because of the way dynamic symbol loading works [...]
The Windows CRT sources come with VC8 professional edition so any licensed user may hack on them and redistribute the result as part of a larger program [...]
Getting the new jemalloc.c file to build wasn't that hard, either: it required a few #defines, typedefs, and disabled warnings, but nothing serious. The hardest part about replacing It was figuring out what parts of the original CRT were heap-related and removing them correctly. It was a wild ride, but I think that I have a build of the Windows CRT that works... at least small programs like xpidl and shlibsign work.
Nota, para el que no le suene, CRT es C RunTime, (que es la librería de C, la que implementa malloc, como bien dice Draco)
por
pobrecito hablador
el Jueves, 21 Febrero de 2008, 08:58h
(#1017881)
Hombre, a los no puristas déjanos creer que la librería estándar de C viene de regalo con el susodicho... Aunque estemos mal acostumbrados y sepamos que es mentira.
Re:malloc?
(Puntos:5, Informativo)( Última bitácora: Lunes, 22 Febrero de 2016, 07:16h )
Si con eso te refieres tan solo al kernel, verás que no hay ninguna llamada al sistema "malloc". Hay brk(), que simplemente aumentan el tamaño del heap y mmap() que reserva zonas completas de memoria, normalmente del tamaño de páginas.
mmap() funciona en espacio de usuario y hace uso de estas llamadas. Tú puedes usar el malloc por defecto en tu sistema, o usar el tuyo propio(en Solaris vienen varias implementaciones de malloc).
Programs should be written for people to read, and only incidentally for machines to execute
Re:malloc?
(Puntos:2, Interesante)( https://twitter.com/yapw | Última bitácora: Viernes, 13 Mayo de 2011, 21:21h )
Para windows, como siempre estas cosas son un poco más difíciles... siguiendo el enlace que puse ayer a toda prisa, se llega a Patching the Windows CRT [smedbergs.us]:Nota, para el que no le suene, CRT es C RunTime, (que es la librería de C, la que implementa malloc, como bien dice Draco)
Aquí había una firma
Re:malloc?
(Puntos:0)