当前位置:  技术问答>linux和unix

mmap共享内存问题?

    来源: 互联网  发布时间:2017-03-25

    本文导语:      int fd;     void *buf;     fd=open("/tmp/ggmm",O_RDWR | O_CREAT | O_TRUNC,00777);     buf=mmap(NULL,11,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);     close(fd);     memmove(buf,"testmemory",10);   //这里收到了SIGBUS信号,仿佛是mmap返回的地址不能...



    int fd;
    void *buf;
    fd=open("/tmp/ggmm",O_RDWR | O_CREAT | O_TRUNC,00777);
    buf=mmap(NULL,11,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
    close(fd);
    memmove(buf,"testmemory",10);  
//这里收到了SIGBUS信号,仿佛是mmap返回的地址不能读不能写,大侠们求解。老返回一个0xb7ffd000地址。
    printf("%sn",buf);
    munmap(buf,11);

|
在 

fd=open("/tmp/ggmm",O_RDWR | O_CREAT | O_TRUNC,00777);

以后执行 一次写操作:比如: 

char cbuf[12] = {0 };
write(fd, cbuf, sizeof(cbuf));

buf=mmap(NULL,11,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);

这样就没问题了。 

你的程序之所以有问题, 是因为,你 map 的是一个空文件 。 所以 map 会出错。  

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于mmap的问题
  • 问个mmap和其锁的问题
  • mmap文件映射的问题
  • mmap机制的问题
  • Linux下mmap函数的问题
  • 请问LDD3中的 simple_nopage_mmap 函数的一些问题
  • 有关mmap()的一个问题
  • mmap问题!
  • 关于mmap的一个问题(一) :(user space)
  • mmap()函数使用问题
  • 关于mmap系统调用来访问寄存器的问题
  • 我调用mmap函数有问题,想用erron这个全局变量,可怎么用不起啊。帮我看看吧。拜托给位了。
  • Linux2.6内核mmap的问题! 请高手指教!
  • 100分求解多线程mmap问题
  • 客户端 mmap 写文件,麻烦给点代码参考下,谢谢
  • mmap和malloc的区别是什么?
  • mmap使用中的困惑,,,在线等待,,请帮忙,谢谢!
  • 如何写mmap程序
  • 嵌入式LINUX mmap 出错
  • 关于2.4.2的mmap()
  • 请问:FIFO文件能用mmap来使用吗?
  • 使用mmap可以读写文件,这是怎么实现的?
  • 请教用过mmap的大虾
  • 高分求助:bigphysareas和mmap的操作在两个不同的版本返回的结果不同
  • ***对FRAMEBUFFER中用到的MMAP的严重质疑****
  • mmap出错,不知是什么原因.
  • mmap后能用strtok或者srtok_r吗?
  • 多进程mmap同一个文件,当一个进程退出时,是否需要unmap
  • 谁有关于函数mmap()方面的用法实例或者文章?
  • mmap
  • 用mmap的一个小程序,core dump了,大家帮我看看!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3