SDKC++ SDK

核心对象与生命周期

理解 C++ Sdk、Exo、ExoDevice、通道和 RAII 对象之间的关系。

当前版本 · 1.0.0

核心对象与生命周期

对象层级

qnbot::Sdk
└── qnbot::Exo
    └── qnbot::ExoDevice
        ├── ReadChannel<ExoTelemetry>
        ├── ReadChannel<ExoStatus>
        └── HapticsState

Sdk 持有原生运行时;Exo 管理领域生命周期;ExoDevice 选择逻辑设备;通道对象负责读取或写入能力。

生命周期与所有权

单设备程序使用 exo.start()、运行器、exo.stop()、exo.close()。多设备分别控制时才使用 device.start()/stop()。关闭父对象会使子对象失效,后续调用抛出 ClosedHandleError。

C++ 对象是轻量句柄;仍应显式停止运行、清除震动并关闭作用域,避免把析构当作业务停止信号。