当前位置: 首页 > news >正文

网站设计和建设ppt定南建设银行网站点

网站设计和建设ppt,定南建设银行网站点,2024年新手机上市时间表,我在征婚网站认识一个做IT深度嵌入式系统通常在C语言中实现。为什么会这样?这样的系统是否也能从C中获益?嵌入式开发人员在将广泛、高效的深度嵌入式代码库从C转换为C方面的实践经验的贡献。嵌入式和深度嵌入式系统通常用C而不是C实现。软件开发人员必须放弃C作为强类型系统、模板元编程(TMP)和面向对…

  深度嵌入式系统通常在C语言中实现。为什么会这样?这样的系统是否也能从C++中获益?嵌入式开发人员在将广泛、高效的深度嵌入式代码库从C转换为C++方面的实践经验的贡献。

  嵌入式和深度嵌入式系统通常用C而不是C++实现。软件开发人员必须放弃C++作为强类型系统、模板元编程(TMP)和面向对象编程(OOP)的优势。C++不用于嵌入式系统,因为嵌入式系统中的编译器通常不支持较新版本的C++标准。另一个原因是对如何在这方面使用C++的知识不足,以及与C相比C++总是开销较大的神话。

  你可以使用C++吗?

  也许也没有编译器对你需要使用的目标系统提供足够的C++支持。至少对于基于武器的系统来说,情况已经有了很大改善。例如,它基于Clang/LLVM,这是Arm版本6的编译器工具链,因此支持C++14以及未来C++标准的更新版本。

  嵌入式开发人员的经验和开销测量基于此工具链的使用。我们的应用程序(根据IEC 62304开发助听器固件)在具有以下功能的ASIC上运行:Arm Cortex-M0 CPU,128 KB ROM和144 KB RAM。

  为什么使用C++?

  许多C开发人员想知道为什么他们应该在嵌入式系统中使用C++。这是因为他们可以从面向对象编程(OOP)中获益。许多C代码库已经在尝试“伪造”OOP:使用包含“类成员”的结构,使用假装为“成员函数”的函数(指针指向该结构作为第一个参数)。如果你在C++中正确使用基本OOP方法,这将为你带来更多好处:

  l 更易于应用语法

  l 编译器检查的变量/函数的公共/私有声明

  l 使用构造函数/析构函数控制成员变量的初始化/销毁

  更复杂的OOP概念(带有虚拟函数),如继承和多态性,也很难在C中维护。

  

  嵌入式开发人员使用C++的另一个优点是支持编译时的优化,例如模板元编程(TMP),以及编译时对constexpr函数的求值。即使是最简单的应用程序也为我们提供了以下优势:

  l C宏“常量”可以用正确类型的constexpr变量替换;

  l C宏“函数”可以替换为模板函数,这增加了类型安全性;此外,相同的函数定义不仅可以在编译时使用,必要时也可以在运行时使用;

  l 与常规C枚举相比,作用域枚举(枚举类)提供了额外的类型安全性;

  l 类型转换(在嵌入式系统中通常不可避免)可以隐藏在一个受控的、小型的类型安全模板实用程序函数库后面。因此,(非库)嵌入应用程序代码中禁止所有类型转换。

  模板也可用于优化代码大小。如果嵌入式开发人员用C语言实现,代码的可维护性就会降低。

  C++用于混合内存系统

  在具有混合存储器架构(例如ROM/RAM/NVM)的系统中,C++可用于ROM修补。例如,你有一个MyLibClass类,它被编译并存储在ROM中。然后你有一个MyUserClass类,它使用MyLibClass并从RAM运行,例如在引导期间从NVM加载之后。在取出ROM或甚至发布基于该ROM的产品后,你将发现MyLibClass中的一个错误,你希望为你的产品修复(即补丁)。

  如果MyLibClass中的函数是虚拟的,这是可能的。然后,可以从MyLibClass类派生MyLibClassPatched类并覆盖错误函数。MyLibClassPatched必须放在RAM中(因为ROM不能再更改)。现在嵌入式开发人员只需在MyUserClass中将MyLibClass更改为MyLibClassPatched。这修复了错误,无需在RAM中重新实现整个MyLibClass。

http://www.yayakq.cn/news/721290/

相关文章:

  • 网站的开发环境怎么写网页前端模板网站
  • 青海省建设厅官方网站成都产品包装设计
  • 企业网站的宣传功能体现在哪里wordpress导入用户数据库
  • 深喉咙企业网站模板瀑布流wordpress
  • 网站运营总结关于做美食的小视频网站
  • 做网站一定要有服务器吗怎么做app推广
  • 做网站的职责技术支持:佛山网站建设
  • 下载室内设计排版模板网站有哪些wordpress按钮插件
  • 已被网站管理员设置拦截天津网站建设咨询
  • 网站短信验证怎么做抖音代运营如何解除
  • 电商网站流量统计个人可以做电视台网站吗
  • 注册一个网站多少钱?网站开发 太原
  • 汕头建设企业网站三亚住房和城乡建设厅网站
  • 商业网站建设案例笔记微网站建设公司
  • 企业自己如何做网站推广网站怎么做子网页
  • 更换dns能上国外网站吗南通seo网站建设费用
  • 怎么看网站文章的收录男科专科医院排名
  • 模版营销型网站怎么做苏宁易购电子商务网站建设目标
  • 网站按照规模分为哪几类丽江建设信息网站
  • 需要找做网站的网络管理系统提供网络管理需要的大量运算和记忆资源
  • 网站后台更换首页图片北京网站建设 知乎
  • 清远市建设局网站山东网站制作定制
  • 合肥本地网站菜鸟零基础如何自学编程
  • 网站推广seo软件在线制作流程图网页
  • 建立网站编码 优帮云wordpress 邮箱验证
  • 邯郸网站建设哪家强怎么创建网站要钱吗
  • 做APP好还是建设网站好公司网站建设方案详细方案
  • 如何建一个营销网站微信网站建设知识
  • 校园网站建设意见制作网站去哪家好
  • 改进网站建设有哪些好的印花图案设计网站