Effective C++ in an Embedded Environment

Code: 795

2 days

List Tuition : $1,595.00 USD

Course Overview

    Download PDF 

C++'s flexibility, modelling power, support for object-oriented and generic programming, and extensive tool set, make it attractive for embedded projects, but some developers worry about code bloat and hidden performance penalties. In this seminar, you will learn how to confront those issues directly in this seminar. Additionally, you will learn how C++ can improve the correctness, readability, and efficiency of embedded software-in some cases accomplishing what is literally impossible in C.

Note: You are required to bring your own laptop.

  • Designers and developers who are using or considering using C++ in embedded systems
  • How compilers implement virtually every part of the language
  • Avoiding code bloat from templates, exceptions, and other language features
  • Using C++ with ROM, memory-mapped IO, ISRs and signal handlers, and custom memory management schemes
  • How C++ templates can provide powerful functionality difficult or impossible to implement in C
  • Issues related to the use of C++ in safety-critical and real-time systems

1. C++ Under the Hood

  • The Efficiency Philosophy Behind C++
  • Detailed Examination of Virtual Function Implementation under Single and Multiple Inheritance
  • Overview of How All Other Language Features Are Implemented
  • Causes of Code Bloat and How To Address Them
  • The Crucial Role of Inlining

2. Three Approaches to Interface-Based Programming

  • Virtual functions and Runtime Polymorphism
  • Separate Compilation and Link-Time Polymorphism
  • Templates and Compile-Time Polymorphism

3. Applying C++ in Embedded Systems

  • Rules for What Can and Cannot Be ROMed
  • Memory Management:
  • Modeling Memory-Mapped IO (MMIO):
  • Implementing Callbacks for C APIs (e.g., ISRs):
  • Overview of TR1 and Boost
  • Interesting Template Applications

4. Considerations for Safety-Critical and Real-Time Systems

5. Sources for Additional Information

  • Familiarity with major C++ language features (e.g., classes, virtual functions, inheritance, and templates) although expertise is not required

Request a Discounted Quote

Bring Training to You

Request schedule for this course

Request a Quote for this Class

We provide government and government contractor discounts, please request a quote


total option: 0

Hotel and Travel can be included on your quote.
For immediate response, you can call 1-855-515-2170 or we will provide a quote within 4 business hours. Travel must be booked 14 days before training for rate to apply.

Learn How to Become a Managed Learning Member

Request a Quote

Thank you for requesting a quote, we will be in touch shortly with a quote. If you need immediate assistance, please call 855-515-2170.

Request Other Date

Request date or location you need

Don’t see the date or location you need? Contact us and let us know, we are adding dates and locations daily.