Boost.Interprocess 提供了通用的进程间通信机制和同步机制,涵盖了一下几个应用:
*共享内存
*内存映射文件
*将 信号量,互斥体,条件变量,可更新互斥体 放入共享内存(内存映射文件)
*命名同步对象,类似旗语(windows信号量)的机制
*文件锁
*相对指针
*消息队列
Boost.Interprocess 也提供了高层进程间通讯机制去动态分配共享内存块或者内存
映射文件块.(通常来说,是分配固定大小的内存段).使用该机制, Boost.Interprocess
提供了一套很有用的工具集帮助C++在共享内存中构建对象,以一种类似STL容器的
接口来操作.具体包括:
*动态创建匿名或者命名的对象在共享内存中
*STL容器兼容的共享内存或者内存映射文件
*STL分配器,提供多种(包括池)分配策略的共享内存STL分配器
构建 Boost.Interprocess
Boost.Interprocess 是一个只需要头文件的模板库,本身并不需要编译.只需要包含
你的Boost 头文件目录到你的编译器包含目录即可.
Boost.Interprocess 依赖 Boost.DataTime, 一个需要编译的的库.然而, Boost.Interprocess
只使用其中不需要编译的子集.所以, 你可以定义 BOOST_DATE_TIME_NO_LIB 来
避免 Boost 自动链接 Boost.DateTime.
测试过的编译器
Boost.Interprocess 已经通过了以下的编译器的测试:
Visual 7.1 Windows XP
Visual 8.0 Windows XP
GCC 4.1.1 MinGW
GCC 3.4.4 Cygwin
Intel 9.1 Windows XP
GCC 4.1.2 Linux
GCC 3.4.3 Solaris 11
GCC 4.0 MacOs 10.4.1
原文地址: http://www.boost.org/doc/libs/1_35_0/doc/html/interprocess.html#interprocess.intro
引用: http://blog.csdn.net/linkerlin/article/details/2249906
*内存映射文件
*将 信号量,互斥体,条件变量,可更新互斥体 放入共享内存(内存映射文件)
*命名同步对象,类似旗语(windows信号量)的机制
*文件锁
*相对指针
*消息队列
Boost.Interprocess 也提供了高层进程间通讯机制去动态分配共享内存块或者内存
映射文件块.(通常来说,是分配固定大小的内存段).使用该机制, Boost.Interprocess
提供了一套很有用的工具集帮助C++在共享内存中构建对象,以一种类似STL容器的
接口来操作.具体包括:
*动态创建匿名或者命名的对象在共享内存中
*STL容器兼容的共享内存或者内存映射文件
*STL分配器,提供多种(包括池)分配策略的共享内存STL分配器
构建 Boost.Interprocess
Boost.Interprocess 是一个只需要头文件的模板库,本身并不需要编译.只需要包含
你的Boost 头文件目录到你的编译器包含目录即可.
Boost.Interprocess 依赖 Boost.DataTime, 一个需要编译的的库.然而, Boost.Interprocess
只使用其中不需要编译的子集.所以, 你可以定义 BOOST_DATE_TIME_NO_LIB 来
避免 Boost 自动链接 Boost.DateTime.
测试过的编译器
Boost.Interprocess 已经通过了以下的编译器的测试:
Visual 7.1 Windows XP
Visual 8.0 Windows XP
GCC 4.1.1 MinGW
GCC 3.4.4 Cygwin
Intel 9.1 Windows XP
GCC 4.1.2 Linux
GCC 3.4.3 Solaris 11
GCC 4.0 MacOs 10.4.1
原文地址: http://www.boost.org/doc/libs/1_35_0/doc/html/interprocess.html#interprocess.intro
引用: http://blog.csdn.net/linkerlin/article/details/2249906