Se connecter

Ou creér votre compte

Vous venez d'ajouter à votre sélection
Votre panier est vide, Voir nos formations

Formation - C11, mise à niveau pour développeur C

Skills Campus

Tranning & certification center
  • SII-298
  • 2 jours
  • 629 vues

Description

Cette formation vous permettra d'assimiler les nouveautés introduites par le standard C11 ISO/IEC 9899:2011. Vous découvrirez la gestion du multithreading, la sélection générique de fonctions ainsi que de nombreuses autres fonctions de la bibliothèque standard offrant des interfaces de fonctionnement sûres.

À qui s'adresse cette formation ?

Pour qui ?

Développeurs C souhaitant connaître les nouveautés définies par le standard C11.

Prérequis

Bonnes connaissances du langage C. Une expérience pratique de la programmation avec ce langage est fortement recommandée.

Les objectifs de la formation

Appréhender les nouveautés de C11
Développer des applications exploitant les threads standards C11
Améliorer la fiabilité d'une application à l'aide des nouvelles fonctions standards C11

Programme de la formation

  • L'avènement de C11
    • Les différentes normes C ANSI, C99, C11.
    • Nouveautés de C11 et objectifs de cette norme ISO.
    • Compatibilité avec les anciennes versions.
    • Outils de développement (compilateurs, IDE).
    • Travaux pratiques Mise en place d'une chaîne de compilation C11.
  • Rappels sur les avancées de C99
    • Les tableaux de taille variable.
    • Les fonctions inline.
    • Les nouveaux types de données long, _Complex, _Bool.
    • Les pointeurs "restreints" (restrict).
    • Mélanger instructions et déclarations de variables.
    • Le problème de la non-conformité des compilateurs.
    • Les reprises/abandons de C99.
    • Travaux pratiques Compiler en C99 et en C11 et savoir dans quelle version on se trouve.
  • Le multithreading
    • Le concept de thread.
    • Processus léger versus lourd.
    • Cycle de vie des threads (exécution).
    • Partage de données entre threads.
    • Synchronisation, rendez-vous, sémaphores.
    • Les propositions des autres langages : Java, C#, C++.
  • Utiliser les threads de C11
    • Appréhender les concepts présents dans la norme et les différences/similitudes avec Pthreads.
    • Créer un thread, le rendre exécutable.
    • Définir des pauses, attendre la fin d'exécution.
    • Utiliser les mutex.
    • Implémenter un producteur-consommateur.
    • Travaux pratiques Utiliser les threads C11.
  • Les objets atomiques
    • Comprendre les problématiques de partage de données entre threads et le concept d'objet atomique.
    • Définir une donnée atomique.
    • Utiliser les opérations atomiques.
    • La gestion des données non-atomiques.
    • Travaux pratiques Réaliser un partage de données entre threads.
  • La sûreté de fonctionnement
    • La suppression de gets() par gets_s().
    • La fonction fopen_s().
    • Autres fonctions : strcat_s(), strcpy_s().
    • Travaux pratiques Manipulation de fonctions.
  • Améliorations diverses
    • L'alignement des structures (<stdalign.h>).
    • - La gestion des chaînes Unicode (char16_t...).
    • - Le support des structures et unions anonymes.
    • - La sélection générique de fonctions au sein des macros (_Generic). - Manipulation des nombres complexes.
    • - Le nouveau mode de fopen().
    • - Les assertions statiques.
    • Travaux pratiques
    • Mise en œuvre des améliorations.
  • 629
  • 14 h

Soumettez votre avis