Kursbeskrivning
C++ DEVELOPMENT IN THE EMBEDDED SYSTEM
Embedded Development & Debugging
Idag nyttjas C++ i en rad olika applikationsområden inom industrin, och kunskapen om dess användning är avgörande för att vara en framgångsrik programutvecklare. Denna kurs fokuserar på aktuella trender och bästa praxis inom C++ för inbyggd programvaruutveckling. Vi kommer att täcka viktiga områden såsom runtime-beteende, minnesutnyttjande och kodtäckning, med praktiska övningar och verkliga exempel för att fördjupa förståelsen.
Genom denna kurs kommer deltagarna att förvärva de nödvändiga färdigheterna för att skapa robusta och effektiva inbyggda system med C++.
Kursen kräver en grundläggande förståelse för C++
Språk: English
Kommande kursstarter
Kursinnehåll
THE FOLLOWING SUBJECT MATTERS ARE COVERED:
- Historical Evolution of C++
- Basic Syntax
- Getting to know the Compiler and the Linker
- The parts of the C language in C++
- Standard data types
- Structures
- Operators
- Functions
- Pointers and References
- Dynamic Memory Allocation
- Class Concept
- Data Encapsulation
- Attributes and Methods
- Object Instantiation
- Constructors and Destructors
- Function Overloading
- Operator Overloading
- The C++ Name Mangling
- Type Converting
- Visibility Concept
- Inheritance
- Polymorphism
- Virtual Methods
- Abstract Classes
- Multiple Inheritance
- Exception Handling
- Templates
- Function Templates
- Class Templates
- Storage Classes in C++
- Meaning of Heap and Stack
- The System Memory Management
- External and static linkability
- The Role of Linker for an Efficient Code
- The Interaction between Compiler and Linker
- Structure of C++ Projects
- Object Files and Libraries
- The Interaction between Compiler and Linker
- Dynamic Libraries
- Considerations on Runtime Behaviors
- Language Standard and Compiler Behavior
- ANSI/ISO C++ 98/11/14/17
- EC++
- The Structure of the C++ Standard Library
- ...And more
THE FOLLOWING QUESTIONS ARE COVERED:
- How does C++ compare to C in embedded systems?
- What decisions does the ANSI C++ standard make for the embedded development?
- What basic mistakes can you make using C++?
- What solutions does the EC++ standard offer?
- What consequences do different storage management strategies for application data have on the general system?
- What practical consequences do physical and virtual storage management have on the software design?
- What does memory fragmentation mean and how do you handle problems with it?
- What are the effects of using polymorphism on program code run time and size?
- How can you use templates?
- What runtime aspects do you have to be consider when using the standard template library?
- How can exception handling be used in the embedded system?
- What are the effects of exception handling on run time, footprint and code structure?
- What framework conditions apply for the development of concurrent systems?
- What does tracing and logging mean for temporal behavior?
Any ANSI/ISO C++ compiler can be used – preferably GCC C++. According to your needs, exercises can be performed directly on an embedded system. For this purpose there are different solutions, from real hardware to simulation. If a special system is to be used, the framework conditions and its feasibility still need to be agreed before the course. I very much like to use QNX and Embedded Linux. The course can also be held with examples that you can run on PCs using Windows, Linux, or MacOSX.
Tid & plats
Online
Investering
Price:
1.700 EUR, 19.900 SEK, 12.600 DKK
Intresseanmälan
Nohau Solutions har tillhandahållit verktyg, utbildning och experttjänster till Embedded industrin sedan 1981. Nohau Academys kurser fokuserar på mjukvaruutveckling i embedded-miljö. Kurserna leds av mycket erfarna instruktörer och innehåller vanligtvis även praktiska övningar. Utbildningen kan ordnas på plats hos Nohau,...