mremap和malloc一起工作吗?

void * mremap(void *old_address, size_t old_size , size_t new_size, unsigned long flags); 

兼容malloc()?

GCC(C ++)和使用Linux。

谢谢。

不它不是。 除了malloc不需要给你一个页面边界的地址(这是mremap期望的地址)的事实之外,如果不知道你做了malloc ,那么mremap来自malloc内存映射是危险的。 改用realloc

不,但如果以前的mableced内存是页面对齐的,很可能会起作用。 当然,malloc相关的调用在他们发现你已经移动了他们的数据的时候会变得怪异。 结果可能包括堆失效,数据损坏和分段错误。