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