读书人

求mremap用法,该如何处理

发布时间: 2012-02-16 21:30:36 作者: rapoo

求mremap用法

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <linux/mman.h>int main(int argc, char **argv){    void *s,*x;    x=malloc(8);    s=(void *)mremap(x,8,8,0);    return 0;}

为什么我的mremap函数总是返回-1呢?
看别人的示例代码和我的这个好像差不多。。。

[解决办法]
C/C++ code
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <linux/mman.h>int main(int argc, char **argv){    void *s,*x;    x=malloc(8);    s=(void *)mremap(x,8,8,0);    perror("mremap");    printf("old 0x%x new 0x%x\n",x,s);    return 0;}
[解决办法]
C/C++ code
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <linux/mman.h>int main(int argc, char **argv){    void *s,*x;    x=malloc(8192);            x = (unsigned int )x + 0x1000;    x = (unsigned int )x & 0xfffff000;    s=(void *)mremap(x,4000,8,0);    perror("mremap");    printf("old 0x%x new 0x%x\n",x,s);    return 0;} 

读书人网 >UNIXLINUX

热点推荐