进程间的内存共享问题。。。(25分)

  • 主题发起人 主题发起人 chy578
  • 开始时间 开始时间
C

chy578

Unregistered / Unconfirmed
GUEST, unregistred user!
  没想到DFW里的这类贴子少得可怜,我只检索到了一个。 

http://www.delphibbs.com/delphibbs/dispq.asp?lid=237150 
  写得很好,简单明了。 可是我还是不完全明了。 

其不懂之处主要是在:
HANDLE CreateFileMapping(
HANDLE hFile,
LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
DWORD flProtect,
DWORD dwMaximumSizeHigh, {<-- 这里,我不明白这两个参数 }
DWORD dwMaximumSizeLow, {<-- 是做什么用的?}
LPCTSTR lpName
);


 
整数是32位的,最大只有4G
那2个整数组成64位的整数,尺寸就可以达到 4G*4G 那么大了
dwMaximumSizeHigh是高32位, dwMaximumSizeLow是低32位
 
createfilemapping其实还有不少,比如:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=635375
 
dwMaximumSizeHigh写0就好了,现在用不到.内存映身文件绝对好用,不过也有很多地方需要
注意,毕竟不是普通的内存要加以注意.
 
这是申请共享内存空间(内存映像文件)的Windows API。
在delphi自带的demos中有一个IPC目录,专门讲的就是进程间通讯的种种技术。
其中就有共享内存(内存映像文件)。
直接拿过来就可以用。
 
多人接受答案了。
 
后退
顶部