Plan du cours
- Qu'est-ce qu'un système embarqué ?
- Définition simple
- Quelques jalons
- Caractéristiques
- Pourquoi utiliser le C++ ?
- Comparaison avec le C
- C : Un sous-ensemble du C++ – presque
- Performance
- Fonctionnalités « gratuites » ajoutées
- Pourquoi ne pas utiliser le C++ ?
- Classes
- Variables membres
- Variables d'instance
- Variables de classe
- Fonctions membres
- Fonctions d'instance
- Fonctions de classe
- Méthodes implicites
- Constructeur
- Initialisation
- Délégation
- Destroyeur
- Opérateur d'assignation par copie
- Constructeur
- Sémantiques de déplace – éviter les copies profondes inutiles
- struct en C++
- Package/Espace de noms
- Variables membres
- Héritage
- Introduction
- Realisation
- Performance
- Héritage multiple
- Héritage virtuel
- Polymorphisme
- Introduction
- Fonction virtuelle
- Destroyeur virtuel
- Implémentation
- Runtime Type Information, RTTI
- Performance
- Gabarits (Templates)
- Introduction
- Gabarit de fonction
- Gabarit de classe
- Gabarits variables
- Enflure du code (Code Bloat)
- Stratégies d'implémentation
- Métaprogrammation par gabarits
- Gabarits versus héritage ?
- Gestion des erreurs
- Gestion des exceptions
- Problèmes de performance
- Implémentation
- Code en ligne (Inline)
- Quand l'utiliser ?
- Stratégies
- Démarrage
- Démarrage du système
- La partie C
- La partie C++
- Bibliothèque standard
- Standard Template Library, STL
- Bibliothèque iostream
- Principales extensions apportées à la STL grâce à C++11 :
- Sémantiques de déplace
- Gabarits variables
- Concourance
- Gestion de la mémoire
- Le modèle mémoire C++
- Les types stdint
- Types atomiques et leurs opérations
- Stratégies
- Variables
- Placement new
- Gestion de la mémoire définie par l'utilisateur
- Le modèle mémoire C++
- Interopérabilité entre C et C++
- Encodage des noms (Name Mangling)
- Initialisation statique
- Mémoire dynamique
- Contenu de struct
- POD – Plain Old Data type
- Design Patterns
- RAII – Resource Acquisition Is Initialization
- E/S mappées en mémoire
- Interruption
- Initialisation des objets statiques
Pré requis
Il n'y a pas de prérequis spécifiques pour suivre ce cours.
Nos clients témoignent (3)
Explication détaillée, répétition des points de manière subtile qui a vraiment bien ancré les connaissances. La volonté de Rod de vérifier à double tour les questions obscures que nous avons posées pour s'assurer que ses réponses étaient 100% correctes. De plus, son intérêt pour la discussion sur les avantages et les inconvénients des styles de codage alternatifs, afin que nous apprenions non seulement comment utiliser C++ selon nos intentions, mais aussi pourquoi il convient de le faire ainsi.
Nick Dillon - cellxica Ltd
Formation - Using C++ in Embedded Systems - Applying C++11/C++14
Traduction automatique
J'ai apprécié le temps qui nous a été alloué pour résoudre les exercices. Cela a été très utile car cela nous a permis de prendre le temps de réfléchir à nos solutions et de les mettre en œuvre.
Valeriu - Siemens
Formation - Using C++ in Embedded Systems - Applying C++11/C++14
Traduction automatique
Les détails sur le comportement du compilateur selon l'utilisation de la syntaxe. Les sections "Quiz" sont très stimulantes.
Andrea Pomatto
Formation - Using C++ in Embedded Systems - Applying C++11/C++14
Traduction automatique