如何读取QByteArray并在qt中作为分离进程运行?

如何读取QByteArray并在qt中作为分离进程运行?,qt,Qt,我正在尝试在分离的进程中运行硬编码的base64.exe文件 我现在尝试的是: void Read(QString file){ QProcess process; process.startDetached(file); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QByteArray exe = QByteArray::fromBase64("TVqQAAMAAAA

我正在尝试在分离的进程中运行硬编码的base64.exe文件

我现在尝试的是:

void Read(QString file){
    QProcess process;
    process.startDetached(file);

}
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QByteArray exe = QByteArray::fromBase64("TVqQAAMAAAAEAAAA...."); //base64 of .exe file

    QString s = exe.data();
    qDebug() << s ;
    Read(s);
    return a.exec();
}
void读取(QString文件){
QProcess过程;
过程。已开始详细说明(文件);
}
int main(int argc,char*argv[])
{
qcorea应用程序(argc、argv);
QByteArray exe=QByteArray::fromBase64(“TVQQaamaaaaaaaaa…”);//base64 of.exe文件
QString s=exe.data();

qDebug()QProcess根据其文件名而不是可执行文件本身中的二进制数据运行可执行文件。即使它这样做了,您也不能将任意二进制数据转换为QString——没有理由假设您的二进制文件是有效的UTF-16编码。感谢您提供的信息,有没有办法在程序启动时运行/调用二进制base64代码?哟你当然可以将它写入文件并执行它。是的,但主要的想法是我想在不写入磁盘的情况下执行。这在标准的Qt框架中是不可能的。你可能必须创建一个RAM磁盘并运行它。但不确定。。。