autoware没有main函数——c++的plugins

本文探讨了ROS2中节点无main函数却能运行的原因,关键在于使用了C++的插件(plugin)机制。通过ROS2内部函数,节点被加载并执行,这一过程与ROS1中的class_loader类似,如参考文献【3】所述。在Autoware等项目中,这种机制使得节点的启动方式不同于传统的main函数入口。
摘要由CSDN通过智能技术生成

1. 参考文献

【1】https://ubuntu.com/blog/components-vs-plugins-in-ros-2
【2】https://github.com/dmxvlx/microplugins这是一个github的小库,可以了解一下
【3】https://github.com/ros/class_loader这个是ros1里的classloader

2. 起因

看autoware,在很多node中没有找到main函数,很疑惑程序是怎么运行起来的

3. 解释

经过一番查找,找到上面的【1】参考文献,主要是用了c++的plugin的机制,由ros2内部的函数,完成了对一个node的调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值