版权所有 © 2005-2024 Ion Gaztanaga
根据 Boost 软件许可证版本 1.0 发布。(参见随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制)
目录
Boost.Interprocess 简化了常用进程间通信和同步机制的使用,并提供了广泛的此类机制。
Boost.Interprocess 还提供了更高级的进程间机制,用于动态分配共享内存或内存映射文件的部分(通常是分配固定大小内存段的部分)。通过使用这些机制,Boost.Interprocess 提供了有用的工具,用于在共享内存和内存映射文件中构造 C++ 对象,包括类 STL 容器。
Boost.Interprocess 是一个仅头文件的库,因此无需编译。只需将您的 Boost 头文件目录包含在编译器的包含路径中即可。
Boost.Interprocess 依赖于 Boost.DateTime,该库需要单独编译。但是,Boost.Interprocess 使用的子集不需要任何单独的编译,因此用户可以定义 BOOST_DATE_TIME_NO_LIB
来避免 Boost 尝试自动链接 Boost.DateTime。
在 POSIX 系统中,Boost.Interprocess 使用 pthread 系统调用来实现互斥量、条件变量等类……在某些操作系统上,这些 POSIX 调用实现在单独的库中,这些库不会被编译器自动链接。例如,在某些 Linux 系统中,POSIX pthread 函数实现在 librt.a
库中,因此您可能需要在链接使用 Boost.Interprocess 的可执行文件或共享库时添加该库。如果您遇到与这些 pthread 函数相关的链接错误,请查阅您系统的文档,了解哪个库实现了它们。
Boost.Interprocess 已在以下编译器/平台上进行了测试:
![]() |
警告 |
---|---|
GCC < 4.3 和 MSVC < 9.0 已弃用,将在下一个版本中移除。 |