Я пытаюсь сохранить четыре двойные переменные и переменную int в общей памяти.
QSharedMemory::data()
предлагает указатель на память, которая была выделена с create(int size)
, Мой вопрос: Как я могу соответствующим образом объединить и глубоко скопировать эти данные в общую память, чтобы я мог получить доступ к любому из его элементов в другой программе для чтения / записи?
Единственная похожая вещь, которую я видел, была помещением значений в QString
, Это правильный путь?
Благодарю.
Что-то вроде этого:
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;
Других решений пока нет …