2

boost::interprocess::string共有メモリに 問題があります。

を使用するshared_memory_objectと、さまざまなフィールドを持つ構造体を操作できますが、文字列 (セグメンテーション エラーが発生します)。
反対に、私が使用するときは、managed_shared_memoryすべて問題ありません。

私は何か間違ったことをしていますか?を使用するとパフォーマンスが低下するかどうか知っていますmanaged_shared_memoryか?

ありがとうございました!

4

1 に答える 1

2

ブースト インタープロセスでの文字列の使用については、この質問を参照してください。

パフォーマンスに関しては、他のほとんどのソリューションよりも優れているはずです-これが存在する理由です-プロセス間でメモリを共有します。プロセス間でデータを共有する他のすべての方法には、共有メモリが必要としないオーバーヘッドがあります (パケット ヘッダー + TCP の IO、DB の DB ラウンド トリップなど)。

于 2010-12-27T18:20:25.253 に答える