-1

Linux と Windows で動作する IPC を処理する C++ プログラムを作成する方法はありますか? オペレーティング システムに依存せずに実行している C++ ライブラリはありますか?

4

2 に答える 2

3

「メッセージ」が IPC (InterProcess Communication) を意味する場合、いいえ、OS の関与なしには不可能であり、それを行う方法はおそらく宇宙で見つけることができるすべての OS で異なるでしょう。「メッセージ」とは、アプリケーション内でデータを渡す方法を意味する場合、はい、OS の関与なしで実行できますし、実行する必要があります。

IPC の場合、メッセージを渡すだけであれば使用できるBoost.IPCが常にあります。もちろん、UI イベントの取得なども必要な場合は、それだけでは不十分です。Qtは、C++ で一般的に使用されるポータブル GUI ツールキットの 1 つです (きれいというわけではありませんが、機能します)。

于 2013-01-10T23:03:36.973 に答える
0

ソケット(別名TCP/IPまたはUDP/IP)について話している場合は、ソケットライブラリを使用できます。注意すれば、WindowsとUnixの両方のバリアントで同じコードを機能させることができます。ただし、クロスプラットフォームソケットAPIの非同期機能は非常に限られています(select呼び出しとそれに関連するスケーラビリティの問題)。

libeventを使用することもできます。これはクロスプラットフォームであり、はるかに豊富な非同期セマンティクスを備えています。

名前付きパイプやFIFOのようなもののために...私はそのようなもののための良いクロスプラットフォームライブラリを知りません。

于 2013-01-10T23:13:58.140 に答える