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。