董俊杰_C++语言在Xiaomi Vela中的应用、体验及前景.pdf

编号:1268187 PDF 42页 6.33MB 下载积分:VIP专享
下载报告请您先登录!

董俊杰_C++语言在Xiaomi Vela中的应用、体验及前景.pdf

1、C+语言在语言在Xiaomi Vela中的应中的应用用分享人:分享人:Xiaomi Vela董俊杰董俊杰Vela FrameworkNuttX KernelLinux KernelVelaWindowsAndroidLinuxVela Safety OSRPCVela Hybrid OSVela IoT OSVela Safety OSIOT标准系统融合系统功能安全系统轻量操作系统轻量操作系统Xiaomi Vela系统架构图系统架构图没有高大上的没有高大上的讲点一听就懂的,听懂就能用的讲点一听就懂的,听懂就能用的都是日常中常见的,容易忽略的东西都是日常中常见的,容易忽略的东西讲点什么?讲点什么

2、?第一PPT第一PPT第一PPTC+In Xiaomi Vela01通信中间件应用框架服务框架系统模块系统模块核心开发语言核心开发语言 提供核心基础库提供核心基础库Base库:消息循环、线程管理、时间管理、WeakPtr、LazyInstance等重要组件封装:JS引擎封装、图形库封装等音视频管理应用服务系统应用能力扩展应用层主要开发语言应用层主要开发语言C+在在Vela中的核心定位中的核心定位基于clang的版本,目前可以支持C+17/20。不过由于鉴于不同设备需求,不宜升的过高。可以支持多种STL库需要关闭RTTI和EXCEPTION,可以减少运行时的开销可以使用STL,以及基于STL的开

3、源软件,谨慎使用boostC+在在Vela中的使用细节中的使用细节支持版本及库支持版本及库TLS本地变量的使用,鉴于Nuttx内核的使用不同Slot不同(默认8个),过多使用可能存在问题 std:thread_local变量不能使用,另外TLS也存在内存泄漏等问题。对codesize要求非常高,(可以通过宏控制代码的codesize大小;编译选项 os lto链接优化)RTOS flat模式下,全局变量和静态变量的构造和析构与linux不同,某些情况存在一次构造、多次析构问题个别STL接口支持不全,(如filesystem 中删除文件等接口支持不全)C+在在Xiaomi Vela中的使用挑战中

4、的使用挑战小有瑕疵,但是99%以上运行无障碍C+:改进模块化设计02常见误区常见误区导入导入避免让代码变成混乱的毛线团避免让代码变成混乱的毛线团常见大力出奇迹,风格以刚猛为主,缺乏优雅精巧的设计方案;日复一日的代码累积,代码飞线成混乱的毛线团;具体示例具体示例&解决方案解决方案常见误区常见误区导入导入常见误区常见误区因需求/实现设置接口,不考虑其合理性和必要性模块交叉引用接口设计不合理类内无关内容多 模块A引用B的内容,B引用A的内容一个类里面放入太多无关内容具体示例具体示例&解决方案解决方案常见误区常见误区具体示例具体示例&经验分享经验分享导入导入示例示例1 1:交叉引用是万恶之源:交叉引用

5、是万恶之源问题剖析问题剖析Canvas模块依赖了非必须的对象:jse_context_ref和DomEntity。这两个对象后面又依赖了大量的对象。因为非核心的需求,无形中导致了网状依赖。这种情况我称为 依赖外溢依赖外溢。常见误区常见误区具体示例具体示例&经验分享经验分享导入导入解决经验解决经验1 1:分层设计:分层设计解决经验:分层设计解决经验:分层设计上层依赖下层,下层不能依赖上层常见误区常见误区具体示例具体示例&解决方案解决方案导入导入经验经验2:Delegate/Client解决反向依赖解决反向依赖解决经验:解决经验:Delegate/Client通过Delegate,将底层依赖做成接

6、口,通过继承方法来解决反向依赖的问题常见误区常见误区具体示例具体示例&解决方案解决方案导入导入经验经验3 3:避免因实现:避免因实现/需求定接口需求定接口IApplicationApplication问题剖析问题剖析一个接口只有一个实现时,最容易出现这种状况:后续的维护者容易的因为将Application加一个功能,再给IApplication添加接口解决经验解决经验果断删除接口,只对外提供API严格按照API规则管理对外接口,对添加接口的必要性进行评估从模块中拆分非核心逻辑,保证模块的灵活性接口是模块对外的郑重承诺,不可随意对待常见误区常见误区具体示例具体示例&解决方案解决方案导入导入经验经

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(董俊杰_C++语言在Xiaomi Vela中的应用、体验及前景.pdf)为本站 (柒柒) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠