是否
void * mremap(void *old_address, size_t old_size , size_t new_size, unsigned long flags);
是否与malloc((兼容?
GCC(C++(和使用Linux。
谢谢。
不,不是。除了malloc
不需要在页面边界处给你一个地址(这正是mremap
所期望的(之外,在malloc
不知道你做了什么的情况下,从malloc
处理内存映射是很危险的。请改用realloc
。
没有,但如果您以前的mallocated内存是页面对齐的,那么它很可能会工作。当然,当malloc相关的调用发现你已经移动了它们的数据时,它们会变得暴躁起来。结果可能包括堆无效、数据损坏和分段错误。