代码位置
apollo/cyber/class_loader
功能
实现组件的加载
代码结构
- 通过查看原码,该模块除了使用了cyber里的日志模块,没有依赖其他东西,即直接将 class_loader/ 文件夹复制,修改里面调用log的地方,修改命名空间后,即可完成代码迁移。
- class_loader_test.cc里面时对classloader的测试,也是使用的示例
类图关系
对外接口
#define CYBER_REGISTER_COMPONENT(name) \
CLASS_LOADER_REGISTER_CLASS(name, apollo::cyber::ComponentBase)
apollo里各个模块被定义为component, 类似于ros的node的概念
每个component 调用CYBER_REGISTER_COMPONENT进行注册