免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: dragonq
打印 上一主题 下一主题

关于共享内存的使用提问,急~~~~~~~~~~~~~~` [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-04-28 14:06 |只看该作者

关于共享内存的使用提问,急~~~~~~~~~~~~~~`

补充,呵呵,如果不是WELLKNOWN SIZE那你怎么知道该用1还是1024字节?
所以,照规范做有可能是更好的选择.

论坛徽章:
0
12 [报告]
发表于 2004-04-28 14:23 |只看该作者

关于共享内存的使用提问,急~~~~~~~~~~~~~~`

原帖由 "windflowers1976" 发表:
补充,呵呵,如果不是WELLKNOWN SIZE那你怎么知道该用1还是1024字节?
所以,照规范做有可能是更好的选择.


如果要使用共享内存的话,
总要知道它的size的。
除非能通过最前一个byte得到它的size,
不然的话前辈们的代码还是没多大意义,呵呵。

论坛徽章:
0
13 [报告]
发表于 2004-04-28 14:37 |只看该作者

关于共享内存的使用提问,急~~~~~~~~~~~~~~`

以前在CSDN看到过这样的论调,学习大师的代码并不代表我盲目顺从大师的代码.
上面的代码就是我本人学习大师代码后自己的封装.
CSDN论坛上的"程序员总相轻",说明的是什么问题那,讨论讨论?
不过,我也不是用零做为SIZE,^_^.

论坛徽章:
0
14 [报告]
发表于 2004-04-28 17:33 |只看该作者

关于共享内存的使用提问,急~~~~~~~~~~~~~~`

小第最近也在研究共享内存,看了各位的讨论,感觉受益非浅,下有一问:

如果我在一个程序里创建一快共想内存,如果程序正常推出,我回控制删除他,但是如果程序异常退出,这快共想内存还回存在,我知道下次启动的时候可以附家到剩余的这快内存上,但是那里的数据对我已经没有作用。所以我还是想每次启动的时候始终创建一块新的共想内存。


我是这样做的,大家给我看法, 我不知道对不对:
创建前先用检查是否存在,如果存在,将起删除,在创建,如果不存在,直接创建。

论坛徽章:
0
15 [报告]
发表于 2004-04-28 17:52 |只看该作者

关于共享内存的使用提问,急~~~~~~~~~~~~~~`

个人看法:
如果不需要里面的数据, shmat 之后,       
  1. if ( m_pchShm >; (char*)0 && m_bCreated )
  2. memset(m_pchShm, 0, m_iShmSize);
复制代码

论坛徽章:
0
16 [报告]
发表于 2004-04-28 17:59 |只看该作者

关于共享内存的使用提问,急~~~~~~~~~~~~~~`

[quote]原帖由 "windflowers1976"][/quote 发表:


还是不行啊,如果遮藏起动我的、程序和上次启动之间,管理员把我自己的 配置文件改变了(配置文件里有关于共想内存大小的记录),就是我共享内存的大小有了变化,我的程序还是不能正常运行。

我想出我那个办法也是实在没有别的办法了啊。只是觉得老是这样删除创建,会不会shmid数字过大,或者系统对这个有什么限制什么的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP