我试图存储四个' double' vars和' int' var在共享内存中。
QSharedMemory::data()
提供指向create(int size)
预留的内存的指针。我的问题是:如何正确地将这些数据加入并深度复制到共享内存中,以便我可以访问其他程序中的任何元素进行读/写?
我看到的唯一类似的事情是将值放在QString
中。这是正确的方法吗?
感谢。
答案 0 :(得分: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;