日期:2014-05-17  浏览次数:21264 次

c# 能否读取由c++建立的内存映射文件
我有一个需要,计划使用如下的形式来实现。

C#软件作为客户服务软件存在。
C#的数据来自某个内存映射文件 。

c++部分负责整理数据,并且将数据整理到内存映射文件中。
c++建立的内存映射文件大小是:120Mb


现在需要c#访问由c++建立的内存映射文件。
C++建立的内存映射文件为global访问,理论上可以由同一个计算机的任意进程来访问。

问题来了
1这样的架构是否可行。
2c#的读取速度是不是很快。
内存 内存映射文件

------解决方案--------------------
.Net 4有MemoryMappedFile类
具体运行时性能取决于你的内存大小和用户的可用内存大小,主板总线的速度等等。C#的不安全代码可以直接访问内存
------解决方案--------------------
.net访问内存映射文件是基于window系统的api的,不存在“c++的、c#的、vb的内存映射文件”,这些编程工具都是在访问windows api。