4

我需要在两个进程之间发送/接收数据。其中之一将使用 Qt(4 或 5)。该进程将一直运行(如后台进程)。

另一个进程将被启动,然后它应该能够发送argv到第一个进程并answer从中接收一些。

第二个进程必须尽快启动,因此使用 QtCore 是最后的资源。这意味着我需要它尽可能小和快,所以我需要使用没有任何外部库的普通 C/C++。

有什么想法可以做到吗?

如果这不可能,我将不得不在第二个过程中使用 QtCore。您知道 QtCore 与普通 C/C++ 相比会慢多少吗?(就启动时间而言)。

问候

编辑:

我不能使用 QBus,因为它必须与 Mac/Linux/Windows 兼容。

4

1 回答 1

4

如果它需要完全跨平台兼容,你最好的选择可能是命名套接字/命名管道,它应该在每个平台上都可以工作。应该带您了解套接字设置所需的信息。在纯 C++ 应用程序中仍然需要一些网络处理代码,但它的开销应该比 Qt-Core 和 Qt-Network 少得多。

你也可以用共享内存来做,但为了简单起见,我更喜欢套接字方法。

于 2013-02-07T11:35:34.777 回答