问题标签 [qsharedmemory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
116 浏览

qt - Qt - QSharedMemory qipc 文件位置

/tmp在 Linux 上,Qt在使用时会在目录中创建以下文件QSharedMemory

我遇到了一个问题,即同一软件的两个不同版本对这些文件使用两个不同的位置,从而使它们不兼容。“较新”版本会在/tmp/username/目录中创建这些文件。我似乎无法弄清楚是什么原因造成的。这个位置是由 Qt 本身定义的,如果是,它是否在不同版本之间发生了变化?或者它是否可以由用户以某种方式配置,如果可以,在哪里以及如何配置?

0 投票
0 回答
316 浏览

c++ - 在qt中使用本机键附加内存时“无法设置键锁定”

我正在尝试学习如何在 Qt 和非 Qt 应用程序之间共享内存,同时拥有两者的读写访问权限。现在我正在尝试使用本机密钥在 Qt 中创建并附加已创建的内存。虽然程序可以成功创建共享内存段,但在下次启动时无法访问它。我怎样才能解决这个问题?有没有办法仅使用本机密钥附加共享内存段?

首次启动:按预期工作,设置 nativeKey 时重置密钥。

第二次启动:尝试创建按预期抛出错误,尝试分离也会按预期抛出错误(因为它未附加),但在尝试附加内存时出现另一个意外错误。

错误 3(来自 Qt 文档):

我不知道我的 nativeKey 出了什么问题。

0 投票
0 回答
50 浏览

qt - QSharedMemory 大小不一样

QSharedMemory 正在改变我的大小。

创造:

读:

大小不一样。创建时大小为 658824 读取时大小为 659456

好的 - 现在听起来很疯狂,但我多次运行读取,突然大小是正确的。然后我重新启动了所有东西(创建时大小相同),错误又回来了。

编辑:

我刚刚意识到 QSharedMemory 的大小不一定与 QBuffer 相同

为什么会这样,我怎么能知道“在另一边”正确的大小(没有做出丑陋的解决方法)

编辑2:我可能会找到它。看起来 QSharedMemory 将内存保留在 4096 个块中。

我的解决方案是检查 QByteArray 是否为空

0 投票
0 回答
17 浏览

crash - QEMU 用户模式 ​​x86_64 - QSharedMemory 无法锁定

在同一平台上通过 QEMU 用户模式运行 x86_64 ELF 二进制文件时,由于此错误,二进制文件崩溃:

此外,作为第二次尝试,我确保在运行二进制文件之前删除所有相关的进程间通信文件。

这是我的二进制文件特有的崩溃,还是 qemu 用户模式不支持多线程、Qt 或诸如此类的东西?

0 投票
0 回答
25 浏览

c++ - 在qt和嵌入式c程序之间共享内存空间(变量)

我想在嵌入式 c 和 qt c++ 之间共享一个内存空间,但是我找不到在运行时访问该变量的任何方法,因为它们都是独立进程,我希望从双方都可以访问该变量,因此可以更新它的价值。我查看了(Q 共享内存)示例,但该示例是两个 qt 应用程序之间的进程间通信。