Le Langage C++ pour l’embarqué
C++ fait partie des langages indétrônables, le classement TIOBE le positionne depuis des années dans les langages les plus utilisés dans l’industrie. Ceci s’explique par la puissance du langage objet, sa polyvalence, et par ses performances d’exécution. C++ est disponible sur toutes les plateformes et également dans l’embarqué. Cette formation, vous propose dans un premier temps l’apprentissage du langage avec un focus sur son utilisation spécifique sur les systèmes embarqués. De nombreux exercices illustrent chaque chapitre afin de mettre en pratique les notions abordées en cours.
Mots clés : C++, POO, langage objet, systèmes embarqués
OBJECTIFS
Assimiler les concepts objets
Mettre en œuvre le langage ++ dans les projets
Découvrir les nouveautés du langage
Acquérir une vraie autonomie dans ce langage
PUBLIC VISE
Concepteurs, Développeurs d’applications débutants à intermédiaires en C++
PREREQUIS
Première expérience en développement informatique. La connaissance du langage C est un plus mais n’est pas obligatoire.
Un PC avec webcam, haut-parleur et micro et une liaison Internet sont requis.
INTERVENANT
Expert des systèmes en réseau : infrastructure de réseau, sécurité, développements d’application en réseau, - Expert des systèmes embarqués : développements d’application sur systèmes embarqués, IoT, M2M, - Expert des systèmes spatiaux : analyse et développements des systèmes spatiaux nanosatellites, Expert en développement de systèmes mobiles, Modélisation des systèmes.
PRIX
Non-adhérent : 1 500€ HT
Adhérent CAP’TRONIC : 1 200€ HT
LIEU
Formation à distance : Les accès à un outil informatique en ligne adapté seront fournis au stagiaire avant le démarrage de la formation. Aucun logiciel spécifique n’est à installer. Seule une connexion à Internet est requise
PROGRAMME
Tour de Table
1 Le langage C++ - introduction
> Historique
> Comparaison aux autres langages
> Utilisation de ce langage dans l’industrie
> Norme et version de C++ (C++98 • C++03 • C++11 • C++14 • C++17 • C++20)
> Nouvelles fonctionnalités du langage
2 Compilateur
> Compilateur open source GCC/G++
> Compilateur croisé x86/ARM
> Linkage dynamique et statique
> Débogage
> Makefile
> TP : utilisation du compilateur (ligne de commande, option, création d’un make, débogage de code)
3 Types, Constantes, Variables
> Références et Pointeurs
> Déclaration, portée
> Initialisation
> Tableau : déclaration, initialisation
> Espace de nommage
> Allocation dynamique
> TP sur les références et pointeurs, allocation dynamique, espace de nommage
4 Notion d’objet
> Du C vers C++
> Classes et Objets
> Protection
> Accès
>Variable d’instance
> Constructeur
> Destructeur
> Surcharge
> Opérateur “This”
> Objet et modélisation UML/SysML
> Génération de code automatique
> TP sur l’héritage, la sécurité, les constructeurs et destructeurs
5 Classes dérivées
> Héritage et instanciation
> Amis
> Classe virtuelle
> Héritage multiple
> TP sur l’utilisation de l’héritage simple et multiple, mise en oeuvre des classes virtuelles
5 Surcharge des Opérateurs
> Opérateur Functions
> Surcharge
> Fonction amie
> Classe amie
> TP sur la surcharge des opérateurs
6 Contrôle de flux
> Entrées
> Sorties
> État
> Surcharge
> Gestion de fichier
> TP sur l’entrée clavier, gestion de fichier.
7 Exceptions
> Définition d’un exception
> Interception
> TP : utilisation des exceptions standards, création d’une exception
8 Structure de données et STL
> Vecteur
> Map
> List
> Pile
> Algo standard
> TP : utilisation des Vecteurs, Map, List, Pile et algorithme standard
9 Particularité du C++ embarqué
> Librairie std
> Compilation et linkage
> Règles de codage spécifique
> Classe virtuelle
10 Multithreading
> Attribut thread_local
> Classe thread
> Classe mutex
> Sémaphore vs Mutex
> Conditions, Verrous, future et promise
> Opérateur et opération atomique
> TP : Structure d’un programme multithread, section critique, opérateur atomique, variable partagée
11 Smart Pointers
> Dépréciation de auto_ptr
> unique_ptr,
> shared_ptr
> weak_p
> TP : mise en œuvre des smart pointer avec plusieurs exercices
12 Principe sur les templates
> Notion de programmation générique
> Classe de modèles
> Fonctions de modèles
> TP de programmation template
13 Nouveaux conteneurs de la librairie standard
> array
> tuple - pair
> unordered_multimap
> unordered_multiset
> unordered_map
> unordered_set
> TP de mise en œuvre sur les nouveaux conteneurs
14 Outils de développement
> code : blocks
> Eclipse
> Jetbrains
RENSEIGNEMENTS ET INSCRIPTION
Florence CAGNARD, cagnard@captronic.fr - 01 69 08 60 54
Pour toute question y compris les conditions d’accès pour les publics en situation de handicap.
Le Langage C++ du 20 au 22 avril 2021 à distance
Les informations recueillies sur ce formulaire sont enregistrées dans un fichier informatisé par JESSICA France à des fins de communication via emailing. Elles sont conservées jusqu’à votre demande de désinscription et sont destinées aux équipes de JESSICA France localisées en France. Conformément à la loi « informatique et libertés », vous pouvez exercer votre droit d’accès aux données vous concernant et les faire rectifier en contactant contact@captronic.fr