Хранение данных в QSharedMemory

Я пытаюсь сохранить четыре двойные переменные и переменную int в общей памяти.

QSharedMemory::data() предлагает указатель на память, которая была выделена с create(int size), Мой вопрос: Как я могу соответствующим образом объединить и глубоко скопировать эти данные в общую память, чтобы я мог получить доступ к любому из его элементов в другой программе для чтения / записи?

Единственная похожая вещь, которую я видел, была помещением значений в QString, Это правильный путь?

Благодарю.

0

Решение

Что-то вроде этого:

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;
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]