私は、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アーリーバイト