关于mmap的使用,请指点!

betterzy 2006-05-11 04:32:55
我把一个文件用mmap映射到某段内存里,
但是怎么样做到,修改内存里的内容后,重新将这个文件重新映射到这个内存里,内存的内容重新从文件里读出.

如:
add = mmap(................)
*add = 1234;//假设原来是0

重新映射的代码
使*add又等于0,add地址保持不变;
printf("*add=%d", *add);
----------------------
重新映射的代码:我用msync(..........,MS_INVALIDATE)测试了一下,打印出来是1234

用munmap后,再mmap也不行

请大家指点啊!
...全文
145 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
summerCsdn 2006-05-12
  • 打赏
  • 举报
回复
定义一个中简变量:
void *p=NULL;
p=malloc();

add = mmap(................)
memcpy(p,add);

*add = 1234;//假设原来是0
.....

试试看.
具体函数使用可能不是很准确



23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧