【发布时间】:2011-12-15 04:55:50
【问题描述】:
我有两个不同的 Windows 应用程序(两个不同的人编写代码)。一种是用 C++ 编写的,另一种是用 C# 编写的。我需要一些方法来在它们之间共享 RAM 中的数据。一个必须写入数据,另一个只读取写入的数据。我应该使用什么来使其最有效和最快? 谢谢。
【问题讨论】:
标签: c# c++ process shared-memory
我有两个不同的 Windows 应用程序(两个不同的人编写代码)。一种是用 C++ 编写的,另一种是用 C# 编写的。我需要一些方法来在它们之间共享 RAM 中的数据。一个必须写入数据,另一个只读取写入的数据。我应该使用什么来使其最有效和最快? 谢谢。
【问题讨论】:
标签: c# c++ process shared-memory
您可以使用Memory Mapped Files。
Here 是一篇描述如何使用它们的文章。
【讨论】:
使用 Windows File Mapping Object,它允许您在进程之间共享内存。
【讨论】:
我建议您重新设计它,让它使用基于消息的通信。它具有自动内存管理功能(与共享内存相比),在 .NET 中更强大且更易于使用。虽然速度较慢。
【讨论】: