matlab — файл сопоставленной памяти Qt / C ++ из другой программы

Я ищу способ реализации приложением Qt (может использовать любые методы или библиотеки c ++) доступа / поиска к отображенному файлу памяти, созданному процессом Matlab. Я прочитал несколько Примеры о том, как сделать разделяемую память в определенной среде (то есть 2 процесса, созданные в Matlab или Qt или VS), но никто не говорит о том, как пойти и найти сопоставленный файл из другой программы. Есть способ сделать это?

Вот мой скрипт Matlab, который отображает файл:

filename = fullfile(tempdir, 'test.dat');
[f,~]=fopen(filename,'wb');
fwrite(f,67,'uint8');
fclose(f);

m = memmapfile(filename,'Writable',true,'Format','uint8');
keyboard

Мне не очень интересно писать в отображенный файл из Qt, сейчас я просто хочу узнать, существует ли он, и, возможно, напишу в него в будущем. Единственное, что я мог подумать попробовать в Qt, это посмотреть, существует ли файл, но моя попытка в корне ошибочна, потому что, насколько я понимаю, я хочу знать, отображается ли файл (ищет адрес памяти?), А не существует ли он. на жестком диске.

#include <QCoreApplication>
#include <QSharedMemory>
#include <QFile>
#include <QTextStream>
#include <QString>

void read(QString filename)
{
QFile file(filename);
if (!file.exists()) {
QTextStream(stdout) << "File does not exist!" << endl;
}
}

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QString filename = "C:/Users/Engineer/AppData/Local/Temp/test.dat";
read(filename);

return a.exec();
}

Кто-нибудь пытался это сделать? Может кто-то указать мне верное направление?

1

Решение

Задача ещё не решена.

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

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

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