如何更改 QSharedMemory 的大小

Posted

技术标签:

【中文标题】如何更改 QSharedMemory 的大小【英文标题】:How to change the size of QSharedMemory 【发布时间】:2013-04-29 14:25:06 【问题描述】:

我想为进程之间的 IPC 创建一个共享内存段,但是我想放入该共享段的变量是动态变化的,并且一直在增加,我看到的示例是创建固定大小的,我查看了QSharedMemory的类引用,没有找到调整大小的函数。

做什么但不建议创建新的共享段,因为我想要一个带有一个键的段,以便在运行时对其他进程可用。

【问题讨论】:

【参考方案1】:

你不能,两个应用程序应该就大小达成一致并在开始时为其创建内存。

如果你真的想重新调整大小,你必须关闭之前的内存并重新创建一个新的内存。

在这种情况下,两个应用程序都必须知道发生了什么。

【讨论】:

所以我们不能在共享内存中使用动态大小的变量,如 QList 或 QMap? @MM. 你的意思是你想通过共享内存通过他们的指针传递QListQMap?! 我的意思是我希望在共享内存中创建一个 QList 以供其他进程访问,我希望他们读取/更新它@M M. 所以,让你的共享内存足够大。我认为这是唯一的解决方案 理论上,我可以做到这一点,但在运行时你无法管理这个,我的意思是如果列表大于共享段怎么办?而且我不能让段安静大,因为我的资源有限,而实际上让我认为共享内存作为 IPC 是通过在任何其他 IPC 中复制这些数据来减少内存消耗。 @MM.

以上是关于如何更改 QSharedMemory 的大小的主要内容,如果未能解决你的问题,请参考以下文章

设备方向更改时如何更改 UiCollectionView 单元格大小?

父级大小更改时如何更改子窗口小部件的大小?

如何在不更改字体大小的情况下快速更改 UISegmentedControl 的字体?

如何在不更改 div 大小的情况下更改 div 内图像的大小

请问Fedora Gnome3桌面如何更改字体大小

如何更改工具栏文字大小?