赞
踩
原文:Hack the Virtual Memory: malloc, the heap & the program break - Holberton
翻译:RobotCode俱乐部
如果我们多次调用malloc会发生什么?
#include
如上图可见,malloc不是每次调用时,都使用系统调用 brk。(再一次说明了,封装函数与系统调用是不一样的)
第一次,malloc为程序创建一个新空间(堆)(通过增加程序中断位置)。接下来的时间,malloc使用相同的空间给我们的程序“新的”内存块。这些“新”内存块是以前使用brk分配的内存的一部分。这样,malloc就不必每次调用时都使用syscalls (brk),从而使malloc——以及使用malloc的程序——更快。它还允许malloc和free优化内存的使用。(译者注:这就是为什
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。