C标准库提供了malloc,free,calloc,realloc,C++标准库还提供了new, new[], delete, delete[].这些用来管理内存,看起来够用了,为啥还要自己写一个内存管理器呢? 原因还是从性能考虑:例如malloc和new是出于通用性考虑的,能处理多线程情况(multithread).对于单线程的程序,这种额外的功能反而降低性能. 而且还注意到,new/delete/free/malloc都是要在user-space和kernel-code做切换的,contex