首先,不得不说,QT的共享内存,使用起来还是很方便的。
参考博文
https://blog.csdn.net/gdutlyp/article/details/50468677
https://blog.csdn.net/Sakuya__/article/details/89519412
使用总结
1、第一个使用此关键字 内存的 进程,需要create 具体的内存大小,其他进程才可以attach 成功
QSharedMemory g_shareMemory;
g_shareMemory.setKey("520");
int maxSize = 1000000;
g_shareMemory.create(maxSize);
2、其它进程关联此 共享内存后,可以读写操作,但注意写入的数据size要小于共享内存的size
FShareMemory.setKey("520");
if (!FShareMemory.attach())
{
return;
}
std::string str = “testhaha”;
if (str.size()>FShareMemory.size())
{
return;
}
memcpy((char*)FShareMemory.data(), str.c_str(), str.size());