2010-03-16 3 views
5

Je souhaite allouer dynamiquement de la mémoire à partir d'un programme d'assembly qui ne se connecte pas à la bibliothèque C standard. Puisque brk (2) et sbrk (2) ne sont pas disponibles sur Mac OS X (10.6.2), quelles sont les alternatives?Comment allouer dynamiquement de la mémoire dans un assemblage Mac OS X?

(je suppose que cela implique un appel de Mach, mais il semble être peu de documentation autour de ce)

+1

Pourquoi ne voulez-vous pas lier à la bibliothèque C? –

Répondre

2

Probablement la chose la plus facile à faire est de regarder le Darwin sources et voir comment malloc fonctionne en interne.

+1

Pour malloc: http://www.opensource.apple.com/source/Libc/Libc-583/gen/malloc.c –

2

On dirait malloc appels mmap, qui appelle __mmap, qui ressemble à c'est juste un syscall