C++ 11/14/17 : les fondements pour systèmes embarqués

But de la formation

Utiliser des stratégies à faible risque (espace/vitesse) pour l'adoption de C++ pour les systèmes embarqués.

Description

Le langage de programmation C++ est un sur-ensemble de C. C++ offre un soutien supplémentaire pour la programmation orientée objet et générique tout en améliorant la capacité de C pour rester proche du matériel. Par conséquent, le C++ devrait être un choix naturel pour la programmation de systèmes embarqués. Malheureusement, de nombreux utilisateurs potentiels se méfient de C++ en raison de sa la complexité et de ses coûts cachés. Cette formation explique les caractéristiques principales qui distinguent C++
du C et recommande des stratégies à faible risque pour l'adoption de C++ pour les systèmes embarqués.

Objectifs

- Présenter un aperçu rapide du C++ moderne pour l'appliquer dans le développement de systèmes embarqués
- Mettre en pratique (avec des démonstrations et des exercices) les caractéristiques du langage moderne C++11/14/17 qui n'ont aucuns frais additionnels de performance ou minimes pour les systèmes embarqués

Méthodologie

Exposé interactif et démonstrations (40%), exercices (60%)

Clientèle visée

Professionnel et technicien spécialisés en embarqué

Particularité

Connaissances de base en C/C++

    Un aperçu rapide du C++ moderne

    • Caractéristiques clés
    • Langage multi-paradigme
    • Bref historique de C++
    • Pourquoi le C++ moderne ?

    Caractéristiques modernes de base

    • Programmation procédurale
    • Déclaration et définition
    • Types fondamentaux et opérateurs
    • Conversions implicites et explicites
    • Définitions de constantes
    • Initialisation plus uniforme
    • Déduction de types
    • Expressions constantes
    • Structures et unions
    • Déclarations d'alias
    • Unions Anonymes
    • Amélioration des types énumérés
    • Vérification de types
    • Amélioration des pointeurs nulls
    • Fonctions en ligne
    • Assertion à la compilation
    • Opérateur de résolution
    • Liaison de type sécurisé
    • Réutilisation binaire du C en C++
    • Fonctions de surcharge

    Caractéristiques orientées objet et avancées

    • Programmation basée objet
    • Espaces de noms
    • Structures versus classes
    • Référence à l'objet courant
    • Création statique et dynamique d'objets
    • Membres de classes statiques
    • Usage des friends
    • Constructeurs et destructeurs
    • Surcharge des opérateurs
    • Constructeurs de copies et d'affectations
    • Constructeurs de copies versus patron de clonage
    • Héritage et polymorphisme
    • Constructeurs et destructeurs avec héritage
    • Polymorphisme
    • Classes abstraites
    • Conversion dynamique
    • Emulation une interface
    • Impact des templates
    • Impact de la gestion des exceptions
    • Impact des itérateurs STL
Michel de Champlain

Michel de Champlain

Ph. D.

Michel de Champlain possède 36 ans d’expérience dans la programmation, dont 29 ans avec le langage C++, 20 ans avec Java et 14 ans avec C#. Depuis 25 ans, il est un conférencier pour les systèmes embarqués (embedded systems) et il enseigne les technologies objet depuis 1988. Il a déjà formé plusieurs milliers de personnes au Québec, au Canada, aux États-Unis, en Europe et en Nouvelle-Zélande. Il est responsable du créneau Développement logiciel embarqué chez ETS Formation et a conçu le langage objet B# (BSharpLanguage.org) pour faciliter le développement dans ce domaine.