Plan du cours
- Qu'est-ce qu'un système embarqué ?
- Définition simple
- Quelques jalons
- Caractéristiques
- Pourquoi utiliser C++ ?
- Comparaison avec C
- C : un sous-ensemble de C++ – presque
- Performances
- Fonctionnalités « gratuites » ajoutées
- Pourquoi ne pas utiliser C++ ?
- Classes
- Membres variables
- Variants d'instance
- Variants de classe
- Membres fonctions
- Fonctions d'instance
- Fonctions de classe
- Méthodes implicites
- Constructeur
- Initialisation
- Délégation
- Destructeur
- Opérateur d'affectation par copie
- Constructeur
- Sémantiques de déplacement (move semantics) – éviter les copies profondes inutiles
- struct en C++
- Paquetage/Espace de noms
- Membres variables
- Héritage
- Introduction
- Réalisation
- Performances
- Héritage multiple
- Héritage virtuel
- Polymorphisme
- Introduction
- Fonction virtuelle
- Destructeur virtuel
- Implémentation
- Informations de type à l'exécution (RTTI)
- Performances
- Modèles (Templates)
- Introduction
- Modèle de fonction
- Modèle de classe
- Modèles variadiques
- Développement excessif du code (Code Bloat)
- Stratégies d'implémentation
- Méta-programmation de modèles
- Modèles versus Héritage ?
- Gestion des erreurs
- Gestion des exceptions
- Problèmes de performances
- Implémentation
- Code inline
- Quand l'utiliser ?
- Stratégies
- Démarrage
- Démarrage du système
- La partie C
- La partie C++
- Bibliothèque standard
- Bibliothèque de modèles standard (STL)
- Bibliothèque iostream
- Extensions majeures apportées à la STL avec C++11 :
- Sémantiques de déplacement
- Modèles variadiques
- Concurrence
- Gestion de la mémoire
- Le modèle mémoire de C++
- Les types stdint
- Types atomiques et leurs opérations
- Stratégies
- Variants
- New placement
- Gestion de la mémoire définie par l'utilisateur
- Le modèle mémoire de C++
- Interopérabilité entre C et C++
- Mangling de noms
- Initialisation statique
- Mémoire dynamique
- Contenu struct
- POD (Plain Old Data) – Type de données élémentaire
- Modèles de conception
- RAII (Resource Acquisition Is Initialization) – Acquisition des ressources par initialisation
- E/S mappée en mémoire
- Interruption
- Initialisation des objets statiques
Pré requis
Aucune exigence spécifique n'est nécessaire 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