1.简介
libipc 是一款轻量级、跨平台的 C++ 进程间通信(IPC)库,封装了管道、共享内存、消息队列等底层 IPC 机制,提供简洁的现代 C++ API,适配 Windows 和 Linux 系统。
设计理念:
- 极简 API:所有功能封装在
ipc命名空间下,无嵌套、无复杂继承,调用成本极低; - RAII 资源管理:所有 IPC 对象(共享内存、管道、信号量等)都遵循 RAII 原则,自动创建 / 释放资源,无内存泄漏、句柄泄漏风险;
- 零冗余封装:底层直接调用系统原生 IPC 接口,无多余中间层,性能几乎与原生 API 持平;
- 强类型 + 错误处理:内置
is_valid()等状态校验接口,错误信息直观,无需手动处理系统错误码; - 纯 C++ 实现:无 C 语言兼容层,完美支持 C++17/20 特性,可无缝结合协程、多线程。
核心特点:
- 推荐支持 C++17 的编译器(msvc-2017/gcc-7/clang-4)
- 除 STL 外,无其他依赖
- 无锁(lock-free)或轻量级 spin-lock
- 底层数据结构为循环数组(circular array)
ipc::route支持单写多读,ipc::channel支持多写多读【注意:目前同一条通道最多支持 32 个 receiver,sender 无限制】- 默认采用广播模式收发数据,支持用户任意选择读写方案
- 不会长时间忙等(重试一定次数后会使用信号量进行等待),支持超时
2.安装
2.1.vcpkg 一键安装
如果你是 Windows 开发者,且安装了 vcpkg 包管理器(C++ 最常用的包管理器),一行命令完成安装,自动配置 VS 的头文件 / 库文件路径,VS 会自动识别 libipc。
# 打开【管理员模式】的 Powershell / CMD,执行以下命令 vcpkg install libipc:x64-windows
补充:如果没装 vcpkg,可先执行这行命令安装 vcpkg:
git clone https://github.com/microsoft/vcpkg.git && cd vcpkg && .\bootstrap-vcpkg.bat
2.2.源码编译安装
1) windows 平台
# 如果是 VS2019,执行这条 cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX=C:/libipc
# 如果是 VS2022,执行这条 cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_INSTALL_PREFIX=C:/libipc
C:/libipc 是安装路径,可自定义,比如 D:/libipc,记住这个路径即可。
源码编译:
cmake --build . --config Release --target ALL_BUILD -j 4
安装到路径:
cmake --install . --config Release
安装完成后,libipc 的文件自动部署到 C:/libipc:
- 头文件:


