0

4 つの「double」var と 1 つの「int」var を共有メモリに保存しようとしています。

QSharedMemory::data()で取っておいたメモリへのポインタを提供しますcreate(int size)。私の質問は次のとおりです。そのデータを共有メモリに適切に結合してディープコピーして、別のプログラムの要素にアクセスして読み書きできるようにするにはどうすればよいですか?

私が見た唯一の同様のことは、値を に配置することでしたQString。それは正しい方法ですか?

ありがとう。

4

1 に答える 1

3

これらの行に沿ったもの:

struct SharedData {
  double fourDoubles[4];
  int andAnInt;
};

QSharedMemory shared_mem;
shared_mem.create(sizeof(SharedData));
SharedData* p = static_cast<SharedData*>(shared_mem.data());
p->fourDoubles[0] = 1.0;
p->andAnInt = 42;
于 2016-07-17T19:15:49.720 に答える