Using C++ in Embedded Systems - Applying C++11/C++14培训
What’s an Embedded System?
Simple Definition
Some Milestones
Characteristics
Why using C++?
Comparison with C
C: A subset of C++ – almost
Performance
Added “Free” Functionality
Why not using C++?
Classes
Member Variables
Instance variables
Class variables
Member Functions
Instance functions
Class functions
Implicit Methods
Constructor
Initialization
Delegation
Destructor
Copy assignment operator
Move Semantics – avoiding unnecessary deep copy
struct in C++
Package/Namespace
Inheritance
Introduction
Realization
Performance
Multiple Inheritance
Virtual Inheritance
Polymorphism
Introduction
Virtual Function
Virtual Destructor
Implementation
Runtime Type Information, RTTI
Performance
Templates
Introduction
Function Template
Class Template
Variadic Templates
Code Bloat
Implementation Strategies
Template Meta Programming
Template versus Inheritance?
Error Handling
Exception Handling
Performance Issues
Implementation
Inline Code
When to Use?
Strategies
Start-up
System Start-up
The C Part
The C++ Part
Standard Library
Standard Template Library, STL
iostream Library
Major extensions made on STL due to C++11:
Move semantics
Variadic Templates
Concurrency
Memory Management
The C++ Memory Model
The stdint-types
Atomic types and their operations
Strategies
Variables
Placement new
User Defined Memory Management
Interoperation between C and C++
Name Mangling
Static Initialization
Dynamic Memory
struct Contents
POD – Plain Old Data type
Design Patterns
RAII – Resource Acquisition Is Initialization
Memory-mapped I/O
Interrupt
Initialization of Static Objects