内存共享数据段的问题,请高手指教,多谢。

jhzhao2002 2007-01-11 03:31:36
#pragma data_seg("share")
long volatile m_lshare = 0;
char volatile *pchar = (char*)malloc(sizeof(S_SendFileInfo)*MAXFILEINFO);
#pragma data_seg()
#pragma comment(linker,"/SECTION:share,RWS")

这样的共享数据段,请问其中pchar指向的内存是否会被共享?
还有一个问题,我要在两个不同的exe之间共享这些数据,是不是必须借助dll才能实现,如果不用的话,需要怎样写呢?
请高手指教.谢谢.
...全文
230 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhzhao2002 2007-01-11
  • 打赏
  • 举报
回复
我查到了,这种共享数据段不支持动态分配内存.所以char volatile *pchar = (char*)malloc(sizeof(S_SendFileInfo)*MAXFILEINFO);不行.揭帖了.
jhzhao2002 2007-01-11
  • 打赏
  • 举报
回复
但是我的这个:char volatile *pchar = (char*)malloc(sizeof(S_SendFileInfo)*MAXFILEINFO);
算不算是已经初始化了呢?
jhzhao2002 2007-01-11
  • 打赏
  • 举报
回复
就是说两个exe共享内存,必须使用dll实现了.
monkst 2007-01-11
  • 打赏
  • 举报
回复
我刚好也在学习这个,我在看这个http://book.csdn.net/bookfiles/212/10021210211.shtml
你也可以学习一下.可以一起沟通一下.
jhzhao2002 2007-01-11
  • 打赏
  • 举报
回复
谢谢楼上的提醒,我也知道映射文件,但是程序已经写完了,在改工作量比较大阿.
trueadou 2007-01-11
  • 打赏
  • 举报
回复
还可以利用内存映射文件实现WIN32进程间的通讯

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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