- 积分
- 6146
- 在线时间
- 4481 小时
- 主题
- 281
- 注册时间
- 2013-6-7
- 帖子
- 1176
- 最后登录
- 2025-1-26
管理员
- 帖子
- 1176
- 软币
- 22811
- 在线时间
- 4481 小时
- 注册时间
- 2013-6-7
|
VS2010 C# ShareMemory
源码是CSDN上的,原版是日语的,我小翻译了一下并将方案升级到了VS2010
在之前版本中,新增了清空内存方法
网上有C#共享内存类,不过功能太简单了,并且写内存每次都从开头写。故对此进行了改进,并做了个小例子,供需要的人参考。
主要改进点:
通过利用共享内存的一部分空间(以下称为“数据信息区”)来存储当前内存中存储的数据信息(count和length或者添加其他信息),完成了对内存读写功能的完善。
在读写内存时,读写数据信息区。
1.写共享内存
根据共享内存当前的使用length,依次往后写。
2.读共享内存
读取从共享内存的起始位置(不包括数据信息区)至length的所有数据。
3.关键点
把IntPtr型的m_pwData当指针来操作,实现从内存的任意位置读写数据。
m_pwDataWrite = (IntPtr)(m_pwData.GetHashCode() + m_length + infoSize);
4.可改进处
在数据信息区,添加每条数据的length信息,即可实现自由读取数据,而不必每次都起始读。
ShareMemory.rar
(56.89 KB, 下载次数: 164)
|
评分
-
查看全部评分
|