首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

求mremap用法,该如何处理

2012-02-16 
求mremap用法C/C++ code#include stdio.h#include stdlib.h#include string.h#include unistd.h#i

求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;} 

热点排行