0

私は、C++ で書かれた GNU/Linux ディストリビューションの下で、アプリケーションが IPC を持つ方法を探しています。

私のプログラムは 3 つのライブラリ (Lib_A、Lib_B、Lib_C) を使用しています。これらのプログラムにはLib_B、Lib_Cが含まれており、Lib_B、Lib_CはAPIのような機能を提供し、これらの機能では機能からIPCへの「トランスレーター」になる必要があります。

Lib_B は、必要に応じてシステム API として、特にプログラム用です。Lib_C は XLib ウィンドウ用です。

これにより、各プロセスとLib_Aの間に明示的で外部の不可触な接続が必要になります。たとえば、Programm_A が Programm_B と通信したい場合は、Lib_A (Lib_B、Lib_C) 上にある必要があります。

ここまで、いくつかの可能性を試してみました: Message Queue > これが問題です。プログラムが msg_type = 0 で msgrcv() を呼び出すと、プログラムが「破棄」されます。

std-pipe > もキャプチャ可能

名前付きパイプ > ここでは、XLib ウィンドウ (特に MouseMove) のメッセージ キューに関して、十分に高速かどうかはわかりません。

これは今まで試したことがありませんでした: DBus > それは重いです! では、どの図書館から!プログラムを「1行で」保持したいので、libdbus-c++-devを好むと思いますが、よくわかりません。

私のプログラムがIPCを取得するための最良の方法は何ですか?

TIAアーリーバイト

4

0 に答える 0