gpt4 book ai didi

c++ - Windows 中的 QSharedMemory 不一致行为

转载 作者:太空狗 更新时间:2023-10-29 21:25:56 27 4
gpt4 key购买 nike

我正在玩 QSharedMemory,我不确定我是发现了一个严重的错误还是我做错了什么。情况是文档说如果不存在具有相同键的内存,QSharedMemory::create() 应该返回 true,否则它应该返回 false 和 QSharedMemory::error() 应该检查一下,看看发生了什么。

我当前的代码是:

QSharedMemory sm("smtest");
sm.setKey("smtest"); // <--- not needed as I already set the key in the initializator, but I'm leaving it anyways, just for the test
qDebug() << sm.create(1);
qDebug() << sm.create(1); //<--- I expect this to return false, but it returns true.
qDebug() << sm.error(); //<--. I expect this to return QSharedMemory::AlreadyExists, but QSharedMemory::NoError is returned instead.
//wtf?!

我的问题是:我是刚刚在 Qt4 中发现了一个非常大的错误还是我做错了什么?

PS:此代码在 Windows 7 x64 上运行

编辑:为了清楚起见,如果我运行该代码两次,第二个应用程序应该检测到第一个应用程序,但它没有。

编辑 2:我在这里报告了一个错误 https://bugreports.qt.io/browse/QTBUG-27744

最佳答案

这绝对是一个错误,请阅读我的错误报告https://bugreports.qt.io/browse/QTBUG-27765

我最近附上了一个补丁来解决这个问题。如果你想解决这个问题,你需要投票。

关于c++ - Windows 中的 QSharedMemory 不一致行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com