在程序的main函数中调用改函数,为什么每次输出都是“create”啊,难道已经存在同样key值的内存也可以创建成功?
void testShareMem()
{
QSharedMemory sharedmem("aa");
if (!sharedmem.create( 512, QSharedMemory::ReadWrite))
qDebug() << "is create already!";
else
{
qDebug() << "create!";
}
}
已经知道原因了,不好意思,没注意,共享内存设置在了函数内,成了局部变量,函数结束后就被释放了,
把QSharedMemory sharedmem("aa");
放到外边就可以了。