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 de la formation

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 pédagogiques

  • 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

Plusieurs méthodes d’apprentissage et outils didactiques permettant de mesurer le progrès et l’intégration des concepts par les participants sont utilisés tout au long de la formation.

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.