gpt4 book ai didi

windows-mobile - Windows Mobile 上的简易 IPC?

转载 作者:行者123 更新时间:2023-12-04 06:40:09 25 4
gpt4 key购买 nike

在 Windows Mobile 上的 C++ 项目(即没有 .NET)中,我正在寻找一种在两个独立运行的应用程序之间轻松通信的方法。应用程序 A 将运行一项服务,而应用程序 B 将为用户提供一些功能——为此 B 必须调用 A 的一些功能。我宁愿不在 COM 中实现任何东西。

事实上,我宁愿不进行任何类型的序列化或类似操作(即这将排除使用套接字/管道/文件),而是让 B 将所有参数和指针传递给 A,就像 A 是 B 的一部分一样。此外,应用程序 C、D 和 E 应该能够在仅运行一个 A 实例的情况下执行相同的操作。

我应该补充一点,B 有时应该向 A 返回一个数组(或 std::vector 或 std::map),其中大小以前不知道。

这在 Windows Mobile 和其他平台上是否可行?

最佳答案

您不能只跨进程共享数据。我不推荐COM。 Windows CE 中不存在管道。您最好的路线是 memory mapped file (如在桌面上)或 point to point message queue (不像在桌面上)。哪个更好取决于您的使用场景。

不要尝试按照建议将跨进程内存与 VirtualAlloc 一起使用,因为它是一种不安全的 hack 不安全并且在 CE 6.0 或更高版本上不受支持,因此您最终会在 WinMo 7 及更高版本下崩溃。

我不建议使用 Windows 消息和 WM_COPYDATA。它很慢,很笨拙,而且很容易出错。

各位,请不要在没有使用平台的时候回答问题,只是为了获得声誉积分。如果您不了解该平台,请让其他人帮助该人,而不是让他大吃一惊。

关于windows-mobile - Windows Mobile 上的简易 IPC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/200225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com