qt - FUSE(用户空间中的文件系统)与 Qt 编程

标签 qt fuse

我正在尝试将 FUSE 与 Qt 一起使用,但 fuse_main() 和 app.exec() 有自己的事件循环。这意味着如果我启动另一个将不会启动,因为第一个启动会阻止另一个启动,如下所示。如何处理?

有关 fuse 的更多信息,请转到 http://fuse.sourceforge.net/

如果可能,请提供示例。

谢谢,
莱安德罗。

例子:

这将防止 fuse 启动:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv); // qt event loop
    a.exec();
    fuse_main(argc, argv, &hello_oper); // fuse event loop, it will not start
    return 0;
}

这将阻止 qt 启动:
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv); // it will not start due to fuse_main invocation
    fuse_main(argc, argv, &hello_oper);
    return a.exec();
}

最佳答案

您应该在单独的线程上运行文件系统。

关于qt - FUSE(用户空间中的文件系统)与 Qt 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644961/

相关文章:

qt - 在 Qt Creator 中将 TagLib 库添加到 Linux Qt 项目?

python - 在 PyQt 中,在主窗口和线程之间共享数据的最佳方式是什么

macos - SSHFS 挂载远程 ssh 服务器导致段错误 : 11 on mac OS

linux - 如何在不使用 libfuse 的情况下使用 FUSE 创建用户空间文件系统?

python - PyQt 中的 QKeyPress 事件

qt - 对 QTableWidget 执行撤消和重做操作

c++ - fuse (用户空间中的文件系统)错误 : expected primary-expression before ‘.’ token

linux - 通过 fuse 挂载本地分区

c++ - QML 无法分配给不存在的属性

linux - Fstab 挂载错误 "mount: unknown filesystem type ' gid=33'