windows共享内存
在windows編程中避免不了使用共享內(nèi)存,因?yàn)樗沁M(jìn)程間通信、文件讀取最簡(jiǎn)單的方式,有書(shū)上還說(shuō)其他進(jìn)程間通訊機(jī)制如管、油槽、WM_COPYDATA底層也是用的共享內(nèi)存機(jī)制。關(guān)于使用方法還是請(qǐng)參考MSDN。
最近聽(tīng)說(shuō)使用共享內(nèi)存不安全,可能會(huì)被其他進(jìn)程野指針無(wú)意中訪問(wèn)到。以前在windows教程中也看到過(guò)相關(guān)的說(shuō)法:共享內(nèi)存是使用的高2G地址空間,用戶態(tài)使用的是低2G空間,所有進(jìn)程是獨(dú)享用戶態(tài)內(nèi)存的,但內(nèi)核態(tài)內(nèi)存是公用的,這樣申請(qǐng)共享內(nèi)存在內(nèi)核態(tài)就會(huì)映射到所有的進(jìn)程。貌似還挺合理。
還是看MSDN上的文檔怎么說(shuō)的
MapViewOfFile
也就是說(shuō)將共享內(nèi)存手動(dòng)映射到當(dāng)前進(jìn)程后該內(nèi)存地址才對(duì)進(jìn)程可見(jiàn)。
有疑問(wèn)才會(huì)學(xué)習(xí),有求解才有進(jìn)步!
轉(zhuǎn)載于:https://www.cnblogs.com/aishangxue/p/3616822.html
總結(jié)
以上是生活随笔為你收集整理的windows共享内存的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++中匈牙利命名法是否该淘汰
- 下一篇: windows下system函数的使用