指定将mmap
与NULL
addr 一起使用时,内核选择创建映射的(页面对齐)地址:
mmap()在的虚拟地址空间中创建一个新的映射。 调用过程。新映射的起始地址是 在addr中指定。 length参数指定 映射(必须大于0)。 如果addr为NULL,则内核选择(页面对齐的)地址 创建映射的位置;这是最便携的方法 创建新的映射。
假设我有以下代码:
void (*x)(void);
void (*y)(void);
x=mmap(NULL, 0x500, PROT..., FLAGS..., FD..., 0);
y=mmap(NULL, 0x500, PROT..., FLAGS..., FD..., 0);
这是否意味着y
将紧随x
之后?
谢谢。
答案 0 :(得分:2)
否,它没有说明映射的相对位置,因此您不能对此做任何假设。将每个映射都与其他映射完全分开。