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
- Performance
- Fonctionnalités ajoutées « gratuites »
- Pourquoi ne pas utiliser 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
- Destructeur
- Opérateur d'affectation par copie
- Constructeur
- Sémantique de mouvement – éviter les copies profondes inutiles
- struct en C++
- Paquetage / Espace de noms
- Variables membres
- Héritage
- Introduction
- Réalisations
- Performance
- Héritage multiple
- Héritage virtuel
- Polymorphisme
- Introduction
- Fonction virtuelle
- Destructeur virtuel
- Implémentation
- Information de type à l'exécution (RTTI)
- Performance
- Gabarits (Templates)
- Introduction
- Gabarit de fonction
- Gabarit de classe
- Gabarits à nombre variable d'arguments
- Gonflement du code (Code Bloat)
- Stratégies d'implémentation
- Métaprogrammation de gabarits
- Gabarits vs Héritage ?
- Gestion des erreurs
- Gestion des exceptions
- Problèmes de performance
- Implémentation
- Code en ligne (Inline)
- Quand l'utiliser ?
- Stratégies
- Démarage (Start-up)
- Démarage du système
- Partie C
- Partie C++
- Bibliothèque standard
- Bibliothèque de gabarits standard (STL)
- Bibliothèque iostream
- Principales extensions apportées à la STL avec C++11 :
- Sémantique de mouvement
- Gabarits à nombre variable d'arguments
- Concurrence
- Gestion de la mémoire
- Modèle de mémoire de C++
- Les types stdint
- Types atomiques et leurs opérations
- Stratégies
- Variants / Variables
- Placement new
- Gestion de la mémoire définie par l'utilisateur
- Modèle de mémoire de C++
- Interopérabilité entre C et C++
- Mangling de noms
- Initialisation statique
- Mémoire dynamique
- Contenu de struct
- POD – Type « Plain Old Data » (Données simples)
- Patrons de conception (Design Patterns)
- RAII – Resource Acquisition Is Initialization (Acquisition de ressources par initialisation)
- E/S mappée en mémoire
- Interruption
- Initialisation des objets statiques
Pré requis
Aucune condition spécifique n'est requise 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