IPC が必要なアプリケーションがあります... 名前付きパイプはとても使いやすいので、その方法だと思います。
とにかく、名前付きパイプを使用して動的メモリを処理する方法について質問があります。
次のようなクラスがあるとします。
class MyTestClass {
public:
MyTestClass() { _data = new int(4); }
int GetData() { return *_data; }
int GetData2() { return _data2; }
private:
int* _data;
int _data2;
};
オブジェクトでいっぱいのバッファを作成MyTestClass
してパイプ経由で送信すると、宛先プロセスで_dataが明らかに失われ、ガベージが発生します。私が使用すべき戦略はありますか?単純なケースでは値型を使用できますが、多くの複雑なクラスではある種の動的メモリを使用する必要があり、ポインターが好きです。
または、代わりに共有メモリの使用を検討する必要がありますか? ありがとう