一、项目说明
iceoryx是一个开源的高性能进程间通信(IPC)中间件,特别适用于需要低延迟和高吞吐量的嵌入式系统,如自动驾驶、机器人控制和实时数据处理。
https://github.com/eclipse-iceoryx/iceoryx
本文介绍Win10x64+VS2019的编译教程
二、编译说明
1、把示例选项勾上
打开文本文件,E:\myCode\iceoryx-2.0.6\iceoryx_meta\build_options.cmake

2、下载ccache的执行文件exe
https://github.com/ccache/ccache/releases
手动下载ccache-4.11.3-windows-x86_64.zip并解压
3、设置git的代理
git config --global http.proxy http://127.0.0.1:58309
git config --global https.proxy http://127.0.0.1:58309
详情见我的另一篇博客
好工具推荐系列:Windows打开CMD命令的快捷键/git代理上网的方法/Cmder_credentialhelperselector弹框-CSDN博客
4、使用cmake
打开文件夹,E:\myCode\iceoryx-2.0.6\iceoryx_meta

(1)期间,会自动下载第三方库cpptoml
https://github.com/skystrife/cpptoml
(2)CCACHE_PROGRAM路径请手动指向为:
E:/myCode/ccache-4.11.3-windows-x86_64/ccache.exe
(3)默认是编译静态库
三、运行
编译完成,会在路径E:\myCode\iceoryx-2.0.6\iceoryx_meta\build\Debug,生成
iox-roudi.exe
会在路径E:\myCode\iceoryx-2.0.6\iceoryx_meta\build\iceoryx_examples\icehello\Debug,生成
iox-cpp-publisher-helloworld.exe
iox-cpp-subscriber-helloworld.exe
务必先运行iox-roudi.exe,然后再运行其它。。
x、了解Iceoryx
C++高性能通信:了解Iceoryx与零拷贝技术的实现与应用-CSDN博客
[翻译] 定制和配置Iceoryx平台_iceoryx iceoryxconfig-CSDN博客
Iceoryx2:高性能进程间通信框架(中间件)-CSDN博客
1、RouDi是Iceoryx的中间件守护进程(daemon),负责管理和协调不同应用之间的通信。它是Iceoryx通信框架中的核心组件,所有使用Iceoryx的应用都需要与RouDi建立连接才能进行正常的数据交换。 在启动任何使用Iceoryx的应用之前,必须先启动RouDi守护进程。
2、Topic通过组(Group)、主题(Topic)和实例(Instance)来唯一标识,以便发布者和订阅者能够准确匹配。
iox::popo::Subscriber<Data> subscriber({"Group", "Topic", "Instance"});