首先,不得不說,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());