Course Code: embedd8526
Duration: 21 hours
Prerequisites:

参加本课程不需要任何特定要求。

Overview:

本培训旨在介绍 C++ 作为在应用物件导向嵌入式系统开发时 C 语言的常见扩展。由于 C++ 包含了 C 语言,本培训将以自然的方式带您从 C 语言过渡到 C++,并深入探讨 C++ 的实现细节。这对于在资源有限的嵌入式环境中应用 C++ 时尤其有价值。C++ 标准最近正在进行重大修订,即 C++11,并且新的 C++14 也即将推出。本课程将涵盖这些修订中引入的主题,这些主题特别有用,例如高效能记忆体管理、利用多核心环境的并行处理,以及接近硬体的裸机编程。

目标/收益

本课程的主要目标是使您能够以“正确的方式”使用 C++。

  • 介绍 C++ 作为嵌入式系统环境中的物件导向语言替代方案
  • 展示与 C 语言的相似之处与差异
  • 理解不同的记忆体管理策略——特别是 C++11 引入的移动语义
  • 深入探讨并理解 C++ 中不同范式在机器码中的表现
  • 使用模板实现类型安全的高阶抽象,用于接近硬体的裸机编程——记忆体映射 I/O 以及中断处理——特别是 C++11 引入的可变模板
  • 提供一些特别适用于嵌入式环境的设计模式
  • 通过一些练习来实践某些概念

观众/参与者

本培训面向 C++- 打算在嵌入式系统环境中开始使用 C++ 的程序员。

以前的知识

该课程需要 C++ 编程的基本知识,对应于我们的培训“C++ – 1 级”和“C++ 2 级 – 介绍 C++11”。

实践练习

在培训期间,您将在许多练习中练习所呈现的概念。我们将使用 Eclipse 开放且免费的集成开发环境

Course Outline:
  • 什么是嵌入式系统?
    • 简单定义
    • 一些里程碑
    • 特性
    • 为什么使用C++?
  • 与C语言的比较
    • C:C++的子集——几乎
    • 性能
    • 新增的“免费”功能
    • 为什么不使用C++?
  • 类别
    • 成员变量
      • 实例变量
      • 类别变量
    • 成员函数
      • 实例函数
      • 类别函数
    • 隐含方法
      • 建构函数
        • 初始化
        • 委派
      • 解构函数
      • 复制赋值运算符
    • 移动语义——避免不必要的深拷贝
    • C++中的结构体
    • 包/命名空间
  • 继承
    • 介绍
    • 实现
    • 性能
    • 多重继承
    • 虚拟继承
  • 多态
    • 介绍
    • 虚拟函数
    • 虚拟解构函数
    • 实现
    • 运行时类型信息,RTTI
    • 性能
  • 模板
    • 介绍
    • 函数模板
    • 类别模板
      • 可变参数模板
    • 代码膨胀
    • 实现策略
    • 模板元Programming
    • 模板与继承的比较?
  • 错误处理
    • 异常处理
    • 性能问题
    • 实现
  • 内联代码
    • 何时使用?
    • 策略
  • 启动
    • 系统启动
    • C语言部分
    • C++部分
  • 标准库
    • 标准模板库,STL
    • iostream库
    • 由于C++11对STL的主要扩展:
      • 移动语义
      • 可变参数模板
      • 并发
  • 内存Management
    • C++内存模型
      • stdint类型
      • 原子类型及其操作
    • 策略
    • 变量
    • placement new
    • 用户定义内存Management
  • C与C++之间的互操作
    • 名称改编
    • 静态初始化
    • 动态内存
    • 结构体内容
      • POD——普通旧数据类型
  • Design Patterns
    • RAII——资源获取即初始化
    • 内存映射I/O
    • 中断
    • 静态对象的初始化
Sites Published:

United Arab Emirates - Using C++ in Embedded Systems - Applying C++11/C++14

Qatar - Using C++ in Embedded Systems - Applying C++11/C++14

Egypt - Using C++ in Embedded Systems - Applying C++11/C++14

Saudi Arabia - Using C++ in Embedded Systems - Applying C++11/C++14

South Africa - Using C++ in Embedded Systems - Applying C++11/C++14

Brasil - Using C++ in Embedded Systems - Applying C++11/C++14

Canada - Using C++ in Embedded Systems - Applying C++11/C++14

中国 - Using C++ in Embedded Systems - Applying C++11/C++14

香港 - Using C++ in Embedded Systems - Applying C++11/C++14

澳門 - Using C++ in Embedded Systems - Applying C++11/C++14

台灣 - Using C++ in Embedded Systems - Applying C++11/C++14

USA - Using C++ in Embedded Systems - Applying C++11/C++14

Österreich - Using C++ in Embedded Systems - Applying C++11/C++14

Schweiz - Using C++ in Embedded Systems - Applying C++11/C++14

Deutschland - Using C++ in Embedded Systems - Applying C++11/C++14

Czech Republic - Using C++ in Embedded Systems - Applying C++11/C++14

Denmark - Using C++ in Embedded Systems - Applying C++11/C++14

Estonia - Using C++ in Embedded Systems - Applying C++11/C++14

Finland - Using C++ in Embedded Systems - Applying C++11/C++14

Greece - Using C++ in Embedded Systems - Applying C++11/C++14

Magyarország - Using C++ in Embedded Systems - Applying C++11/C++14

Ireland - Using C++ in Embedded Systems - Applying C++11/C++14

Luxembourg - Using C++ in Embedded Systems - Applying C++11/C++14

Latvia - Using C++ in Embedded Systems - Applying C++11/C++14

España - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Italia - Using C++ in Embedded Systems - Applying C++11/C++14

Lithuania - Using C++ in Embedded Systems - Applying C++11/C++14

Nederland - Using C++ in Embedded Systems - Applying C++11/C++14

Norway - Using C++ in Embedded Systems - Applying C++11/C++14

Portugal - Using C++ in Embedded Systems - Applying C++11/C++14

România - Using C++ in Embedded Systems - Applying C++11/C++14

Sverige - Using C++ in Embedded Systems - Applying C++11/C++14

Türkiye - Using C++ in Embedded Systems - Applying C++11/C++14

Malta - Using C++ in Embedded Systems - Applying C++11/C++14

Belgique - Using C++ in Embedded Systems - Applying C++11/C++14

France - Using C++ in Embedded Systems - Applying C++11/C++14

日本 - Using C++ in Embedded Systems - Applying C++11/C++14

Australia - Using C++ in Embedded Systems - Applying C++11/C++14

Malaysia - Using C++ in Embedded Systems - Applying C++11/C++14

New Zealand - Using C++ in Embedded Systems - Applying C++11/C++14

Philippines - Using C++ in Embedded Systems - Applying C++11/C++14

Singapore - Using C++ in Embedded Systems - Applying C++11/C++14

Thailand - Using C++ in Embedded Systems - Applying C++11/C++14

Vietnam - Using C++ in Embedded Systems - Applying C++11/C++14

India - Using C++ in Embedded Systems - Applying C++11/C++14

Argentina - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Chile - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Costa Rica - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Ecuador - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Guatemala - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Colombia - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

México - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Panama - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Peru - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Uruguay - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Venezuela - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Polska - Using C++ in Embedded Systems - Applying C++11/C++14

United Kingdom - Using C++ in Embedded Systems - Applying C++11/C++14

South Korea - Using C++ in Embedded Systems - Applying C++11/C++14

Pakistan - Using C++ in Embedded Systems - Applying C++11/C++14

Sri Lanka - Using C++ in Embedded Systems - Applying C++11/C++14

Bulgaria - Using C++ in Embedded Systems - Applying C++11/C++14

Bolivia - Uso de C ++ en sistemas integrados: aplicación de C ++ 11 / C ++ 14

Indonesia - Using C++ in Embedded Systems - Applying C++11/C++14

Kazakhstan - Using C++ in Embedded Systems - Applying C++11/C++14

Moldova - Using C++ in Embedded Systems - Applying C++11/C++14

Morocco - Using C++ in Embedded Systems - Applying C++11/C++14

Tunisia - Using C++ in Embedded Systems - Applying C++11/C++14

Kuwait - Using C++ in Embedded Systems - Applying C++11/C++14

Oman - Using C++ in Embedded Systems - Applying C++11/C++14

Slovakia - Using C++ in Embedded Systems - Applying C++11/C++14

Kenya - Using C++ in Embedded Systems - Applying C++11/C++14

Nigeria - Using C++ in Embedded Systems - Applying C++11/C++14

Botswana - Using C++ in Embedded Systems - Applying C++11/C++14

Slovenia - Using C++ in Embedded Systems - Applying C++11/C++14

Croatia - Using C++ in Embedded Systems - Applying C++11/C++14

Serbia - Using C++ in Embedded Systems - Applying C++11/C++14

Bhutan - Using C++ in Embedded Systems - Applying C++11/C++14

Nepal - Using C++ in Embedded Systems - Applying C++11/C++14

Uzbekistan - Using C++ in Embedded Systems - Applying C++11/C++14