4

私はC++を初めて使用し、共有メモリとロックをいじるという一般的な落とし穴を避けたいので、ローカルIPCを堅牢な方法で実現するための移植可能な方法を選択することについての提案を探しています。したがって、メッセージ パッシング スタイルの ipc を考えていました。

とにかく他の理由でqtを使用することを計画していたので、Qtのipcオプションをのぞき見しました。

私が正しく理解している場合、qt は完全に移植可能なメッセージ パッシング ipc 機能を提供していません。d-bus を使用できますが、Windows で使用するには問題があります。他の方法は、組み込み Linux プラットフォームに限定されています (これを AIX に移植したいと考えています)。

QSharedMemory と QSystemSemaphores を使用する「シグナルとスロット」またはメッセージ パッシング スタイルの実装が見つかりませんでした

したがって、QSM/QSS での機能の実装に制限はありますか? 他にどのようなオプションを勉強できますか? posixパイプ?プロトコルバッファ? ブーストキューとメッセージ?

LGPL/GPL スタイルのライセンスの下でコードをリリースすることを検討していますが、これはプロトコル バッファまたはブースト ライブラリを除外しますか?

繰り返しますが、インターフェースはシンプルで初心者にも耐えられるものでなければなりません (そうでなければ、私は間違いなく物事を台無しにしてしまいます :) )。

4

3 に答える 3

4

多くの IPC 機能を提供するBoost.Interprocessを見てください。私は、あなたがやりたいと思うことを行うための非常にクリーンで簡単な方法を提供するプロセス間message_queueを使用しました。

于 2009-11-11T19:56:07.993 に答える
0

Qt 5.9 のように、QObjects に Qt ネイティブ IPC を提供するQtRemoteObjectsというテクノロジー プレビュー名のモジュールがあり、使いやすく、2 つのプロセス間でシグナル/スロットとモデルを共有するために使用できます。

Linux、Windows、およびAndroidでうまく機能します

于 2017-06-03T07:48:23.567 に答える