Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456111
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:03:08

VC70新手:懒好!
(发表于2002-7-14 19:46:00)

awzzz:对服务程序测试成功有效
(发表于2002-7-15 8:34:00)

Micro:据我所知,使用共享内存的一个实例应该没有权限直接释放共享内存.因为其他例程可能正在使用.我们是不是应该使用象COM组件的方法,为每一块共享内存设一标识位,内存的每次实例化使该标识加1,用完后减1,而当该标识为0时,则彻底释放该共享内存....:)
(发表于2002-7-16 11:31:00)

tdy:Micro老哥,当没有其他用户使用时共享内存时,共享内存变会真正释放的。
(发表于2002-7-21 8:28:00)

Micro:呵呵!我差点忘了,共享内存由操作系统管理和分配,用户只能申请使用权......
(发表于2002-7-27 13:48:00)

awzzz:补充说明:

void CShareMemDlg::OnButton2() 
{
// TODO: Add your control notification handler code here

CSFMClient *pCSFMC = new CSFMClient(FILE_MAP_READ, "_OBJ_ZZZ_");
char *p = (char*)pCSFMC->GetBuffer();
if (p) strcpy(p, "1234567890");
delete pCSFMC;//释放
}

以下行
if (p) strcpy(p, "1234567890");
是为了测试出错情况

因为
CSFMClient *pCSFMC = new CSFMClient(FILE_MAP_READ, "_OBJ_ZZZ_");
FILE_MAP_READ只能读,不能写,写为|FILE_MAP_WRITE

当时没写注释,自己现在都晕了
(发表于2002-9-6 17:00:00)

fallwind:没有同步保护阿!
(发表于2003-1-14 11:40:00)

summuer:awzzz:对服务程序测试成功有效
(发表于2002-7-15 8:34:00)
可是我在ISAPI程序里使用是无效的,要修改CreatFile和CreatFileMapping的安全描述符才可以用的。
(发表于2003-8-13 14:21:00)

wordstar:sos!!!此方案在WinNT下无效!!!!!!程序执行是没有问题的,但是,请注意听你那可怜的硬盘,正在痛苦地呻吟。。。。。。|WinNT实实在在将这倒霉的内存映射文件当成文件来处理了。。。。。。也就是说,和你打开一个可共享的文件,然后同时几个进程操作毫无区别。。。。
(发表于2003-9-25 1:17:00)

softhero:你的电脑好落啊

(发表于2004-10-20 9:41:00)

..........................................................................
--------------------next---------------------

阅读(155) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~