仅使用本机 C++ 操作为多个进程创建共享内存? [关闭]
Posted
技术标签:
【中文标题】仅使用本机 C++ 操作为多个进程创建共享内存? [关闭]【英文标题】:Create shared memory for several processes by using only native C++ operations? [closed] 【发布时间】:2013-05-18 12:45:18 【问题描述】:如何仅使用本机 C++ 操作来分配可从多个进程访问的共享内存?或者我应该像在互斥锁和信号量等线程间同步对象的情况下那样使用我的操作系统 API? (我的意思是你不能用 bool 代替 mutex。操作系统有特定的类型来组织同步。)
【问题讨论】:
您甚至无法使用本机 C++ 操作创建进程... 【参考方案1】:“仅本地 C++”中没有“共享内存”甚至“进程”的概念。这些必然是特定于平台的概念。
您可以尝试Boost's Interprocess library 以获得一些有用的抽象。
【讨论】:
【参考方案2】:基本上,您需要使用 OS API。但是有一些跨平台库(例如 Boost)可以实现对共享内存的访问。
【讨论】:
以上是关于仅使用本机 C++ 操作为多个进程创建共享内存? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
linux下通过shmget创建的共享内存,是属于用户空间还是内核空间?