iceoryx编译和验证

一、下载源码:

git clone https://github.com/eclipse-iceoryx/iceoryx.git

二、安装编译依赖库

sudo apt install git build-essential cmake libacl1-dev libcurses5-dev pck-config

三、编译:

cmake -Bbuild -Hiceoryx_meta -DBUILD_SHARED_LIBS=ON -DEXAMPLES=ON -DINTROSPECTION=ON

cmake --build build -j8

四、安装:

sudo cmake --build build --target install

sudo ldconfig

五、测试验证:

1. 基本的收发功能,需要3个终端分别运行:router,subscriber,publisher

(1)iox-roudi

2026-02-23 16:01:20.229 [Info ]: No config file provided and also not found at '/etc/iceoryx/roudi_config.toml'. Falling back to built-in config.

2026-02-23 16:01:20.340 [Info ]: Resource prefix: iox1

2026-02-23 16:01:20.340 [Info ]: Domain ID: 0

2026-02-23 16:01:20.340 [Info ]: RouDi is ready for clients

(2)iceoryx/build/iceoryx_examples/icedelivery:iox-cpp-publisher

2026-02-23 16:11:31.542 [Info ]: Domain ID: 0

iox-cpp-publisher sent values: 90, 145, 234, 1, 378

iox-cpp-publisher sent values: 91, 146, 235, 2, 379

iox-cpp-publisher sent values: 92, 147, 236, 3, 380

iox-cpp-publisher sent values: 93, 148, 237, 4, 381

(3)iceoryx/build/iceoryx_examples/icedelivery:iox-cpp-subscriber

2026-02-23 16:10:59.373 [Info ]: Domain ID: 0

iox-cpp-subscriber got value: 106

iox-cpp-subscriber got value: 161

iox-cpp-subscriber got value: 250

iox-cpp-subscriber got value: 17

iox-cpp-subscriber got value: 394

iox-cpp-subscriber got value: 107

iox-cpp-subscriber got value: 162

iox-cpp-subscriber got value: 251

iox-cpp-subscriber got value: 18

iox-cpp-subscriber got value: 395

iox-cpp-subscriber got value: 108

iox-cpp-subscriber got value: 163

2. 测试收发延迟

(1)iox-roudi

(2)iceoryx/build/iceoryx_examples/iceperf:iceperf-bench-follower

2026-02-23 16:13:55.792 [Info ]: Domain ID: 0

Waiting for PerfSettings from leader application!

****** ICEORYX ********

Waiting for: subscription, subscriber [ success ]

Waiting for: unsubscribe [ finished ]

(3)iceoryx/build/iceoryx_examples/iceperf:iceperf-bench-leader -n 100000 -t iceoryx-cpp-api

2026-02-23 16:13:37.972 [Warn ]: IPC channel still there, doing an unlink of 'iox1_0_u_iceperf-bench-leader'

2026-02-23 16:13:37.975 [Info ]: Domain ID: 0

****** ICEORYX ********

Waiting for: subscription, subscriber [ success ]

Measurement for: 16 [B], 32 [B], 64 [B], 128 [B], 256 [B], 512 [B], 1 [kB], 2 [kB], 4 [kB], 8 [kB], 16 [kB], 32 [kB], 64 [kB], 128 [kB], 256 [kB], 512 [kB], 1 [MB], 2 [MB], 4 [MB]

Waiting for: unsubscribe [ finished ]

Measurement Result

100000 round trips for each payload.

Payload Size Average Latency [µs]
16 [B] 1.2
32 [B] 1.2
64 [B] 1.2
128 [B] 1.2
256 [B] 1.2
512 [B] 1.2
1 [kB] 1.2
2 [kB] 1.2
4 [kB] 1.2
8 [kB] 1.2
16 [kB] 1.2
32 [kB] 1.2
64 [kB] 1.2
128 [kB] 1.2
256 [kB] 1.2
512 [kB] 1.2
1 [MB] 1.2
2 [MB] 1.2
4 [MB] 1.2

Finished!

相关推荐
BirdenT13 小时前
20260519紫题训练
c++·算法
kidwjb20 小时前
信号量在进程中的使用
linux·进程间通信
C+++Python21 小时前
C++ 进阶学习完整指南
java·c++·学习
sparEE21 小时前
c++值类别、右值引用和移动语义
开发语言·c++
sulikey1 天前
个人Linux操作系统学习笔记2 - gcc与库的理解
linux·笔记·学习·操作系统·gcc·
jrrz08281 天前
Apollo MPC Controller
c++·自动驾驶·apollo·mpc·横向控制·lateral control
二宝哥1 天前
Linux虚拟机网络配置
linux·运维·服务器
陳10301 天前
Linux:进程间通信 和 简单进程池
linux·运维·服务器
jimy11 天前
改.bashrc,直观地判断本地repo是否有改动
linux·服务器
愚昧之山绝望之谷开悟之坡1 天前
什么是Linter?什么是沙箱!
linux·笔记