【发布时间】:2013-02-07 12:15:34
【问题描述】:
我有两个在 Windows 上用 C++ 编写的可执行文件。我在一个中生成了一些数据,并想调用另一个可执行文件来处理这些数据。我可以将数据写入一个文件,然后在另一个可执行文件中读取它,但这在磁盘 I/O 方面似乎相当昂贵。有什么更好的方法来做到这一点?这似乎是一个很简单的问题,但谷歌却无济于事!
假设数据大约 100MB,并且在需要发送之前完整生成(即不需要流式传输)。
在混合 32 位和 64 位进程时有效的答案会获得加分。
【问题讨论】:
-
命名管道、本地winsockets、内存映射文件、共享内存、邮件槽、注册表、窗口消息(不适合大数据),还有什么?任你选。如果您告诉我们更多有关数据(大小等)以及您希望共享数据的性质的信息,我们可以就哪种方法最好提供更好的建议。
-
一般情况下,这叫inter-process communication。
-
当然,我已经添加了一些关于数据的信息。最初我只是写了“大量”,但在发布之前编辑了我的问题,我真的应该给出一些数字:)
-
您正在寻找的通用术语是进程间通信,我相信谷歌可以提供帮助。或者更具体一点,说明您的目标和要求,以便在此处提供更多技术性答案。
标签: c++ windows process data-sharing