Sela

Effective C++ in RT/Embedded Systems

Description
Embedded/Real-Time systems are characterized by memory and performance constraints. Deep understanding of the C++ constructs and mastering the language for efficient writing is therefore vital, and may be even crucial in these systems. The course reveals the hidden overheads and strengths of the language and its mechanisms. The course presents the capabilities, limitations, hazards, and tips and tricks, for better performance and better utilization of memory capabilities of the language, for you to use as an expert programmer in an Embedded/Real-Time environment. The course will also present performance issues associated with the code generated by typical C++ compilers, and various optimization issues. Some benchmarks will be presented as well, to prove and illustrate the improvements that can be made in a project to achieve best performance and memory results.
Intended audience
The course is intended for experienced C++ programmers who wish to better understand the internal structures and mechanisms for improved utilization of the language’s capabilities and strengths in an Embedded/Real-Time environment. For these programmers a deep understanding of the language and its constructs is vital for the success of their project.

Topics

O.O. and Embedded/RT systems
C++ and Embedded/RT systems
Pros/Cons and more
Object based C++, OO C++
Class: empty, with data members, with static members
Tools for exploring your system
Performance costs
startup code
Inlining
Virtual vs. Inline – Can they coexist?
Temporaries
Locality
Stack vs. Heap
Managing your own memory
Benchmarking of performance
Using Templates in Embedded/RT
Function objects
Specialization
Class template
Templates arguments
Namespace std
The class string
Wide character support
Understanding the cost
Containers
Iterators
Container adaptors
Algorithms
Ranges
Statics – Order of initialization
Tips & tricks

רוצה לדבר עם יועץ?

האם אתה בטוח שאתה רוצה לסגור את הטופס ולאבד את כל השינויים?