我在《Advanced Unix Programming》(以及其他几本书)中读到Linux的
我正在查看glibc的
当
(这可能是我对从C运行时库进行系统调用的理解上的一般误解。如果是这样,我很想知道它们是如何进行的?)
malloc()
使用Linux系统调用sbrk()
来请求操作系统的内存。我正在查看glibc的
malloc.c
代码,可以看到注释中有很多提到sbrk()
,但在代码中没有直接引用。当
malloc()
请求内存时,sbrk()
在哪里被引用/使用?(这可能是我对从C运行时库进行系统调用的理解上的一般误解。如果是这样,我很想知道它们是如何进行的?)
sbrk
的实际位置,但在C语言中,系统调用和函数之间没有任何区别,唯一的例外是在系统调用完成之前,控制权完全由操作系统管理。 - millinonsbrk
已从最新的Posix标准中删除。 - Basile Starynkevitch