Formation Langage C Avancé

Notée : (5)*

Approfondissez vos connaissances et bonnes pratiques du langage C grâce à cette formation C Avancé de 2 jours !

Formation Langage C Avancé

Durant ces 2 jours de formation, vous étudierez les mécanismes avancés vous permettant de gérer des projets complexes sur des environnements multi-cibles. Vous apprendrez également à mettre en place des tests unitaires de qualité et serez initié à la programmation des threads ‘Posix’.

Cette formation Langage C Avancé s‘adresse à des programmeurs et programmeuses expérimentées maîtrisant déjà le langage C et étant à l’aise avec l’utilisation d’un IDE pour gérer un projet conséquent en langage C (plusieurs fichiers sources, avec des bibliothèques externes).

Si vous débutez avec C, jetez un œil à notre formation Langage C : Les Bases.

Cette formation se répartira avec environ 35% de théorie et 65% de pratique, qui auront lieu seul et parfois en binôme.

Installations nécessaire sur votre machine :
- un PC sous Windows ou Linux, Mac
- Visual C de Microsoft, CLion de Jetbrains
- un Compilateur C propre à chaque OS (msvc, gcc ou clang)

Les objectifs

  • Maîtriser la gestion et la production d’une application multi-cibles
  • Maîtriser et organiser la mise en place de tests unitaires
  • Manager son projet à travers les entrées des fichiers « makefile »
  • Concevoir et maintenir une application « multi-threadée » simple

Pré-requis

  • Bien connaître le langage C
  • Être à l’aise avec l’utilisation d’un IDE pour gérer un projet conséquent en langage C (plusieurs fichiers sources, avec des bibliothèques externes).
  • Ordinateur portable à apporter

Le programme de la formation Langage C Avancé

Jour 1 : Rappel et tests

Les types de base en langage C
  • Les tableaux, les structures de données, les unions et énumérations
  • Les fichiers en langage C
  • La portée des variables
  • L’allocation dynamique
  • Les pointeurs en langage C

Mises en pratique :
- Ecrire et définir en langage C des structures et fonctions pour gérer une table de ‘hashage’
- Création des structures et fonctions permettant de manipuler une pile de chaînes de caractères
- Mise en œuvre de la fonction interne C qsort

Les tests unitaires et le TDD
  • Les tests unitaires avec la fonction interne C assert
  • Les tests unitaires avec une bibliothèque externe
  • Etude et mise en œuvre du TDD

Mises en pratique :
- Création des tests unitaires pour une fonction de recherche d’un élément dans un tableau de nombres flottants
- Mise en œuvre de TDD sur une fonction de recherche dichotomique sur un tableau ordonné

La chaîne de fabrication d’un programme C
  • Rappel sur la chaîne de fabrication d’un programme : pré-processeur, compilation, éditions de liens
  • Rappel sur l’organisation interne d’un programme en C, les sources, les librairies
  • La fabrication des programmes cibles : le fichier "makefile" et son utilitaire make
  • La production d’une bibliothèque en langage C : fichier d’entête, fichier binaire, fichier de liens, fichier de fabrication
  • Interagir avec le programme source à travers les paramètres en ligne de commande du compilateur

Mises en pratique :
- Mettre en place de 2 chaînes de fabrication séparées, l’une pour les tests, l’autre pour produire le programme final
- Produire une bibliothèque en langage C

Jour 2 : Threads et préprocesseur

Introduction aux threads « Posix » en langage C
  • Présentation des cas d’usage
  • Etude de la bibliothèque pthread.h
  • Lancer et contrôler un thread
  • Les mécanismes de synchronisation entre threads

Mises en pratique : Mise en place d’une chaîne de traitements unitaires avec des threads

Le préprocesseur
  • Rappel sur l’inclusion des fichiers de définition avec #include
  • Rappel sur l’utilisation des macros définies dans les bibliothèques standards
  • Définir et gérer des propres macros avec #defineet #undef
  • Définir des macros avec des paramètres
  • Mise en œuvre des opérateurs internes # et ##
  • La compilation conditionnelle : #if, #ìf defined, #ifdef, #ifndef, #elif, #endif
  • La directive #pragma

Mises en pratique : Mise en place de la compilation conditionnelle en fonction de l’OS cible

Télécharger le programme

Le(s) formateur(s)

Yves DUPRAT

Yves DUPRAT

Yves est développeur Python freelance depuis 15 ans. Son activité professionnelle Python se répartit à part égale, entre du développement et de la transmission de savoir aussi bien en écoles d'ingénieur qu'en formation auprès des entreprises. Il intervient aussi sur des sessions de formation en C, C++ et SQL.

Ses principales missions Python en développement concernent soit de l'écriture de script backoffice, soit des missions d'audit en vue de refactoring et/ou d'optimisation de code.

Yves est aussi créateur et organisateur du meetup Python de Lille (Lille.py)

Voir son profil détaillé

FAQ

Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.

Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?

Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.

Voici une journée type :

  • 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
  • 9h30 : la formation commence
  • 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
  • 14h : reprise de la formation
  • 18h : fin de la journée

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 162 formations au catalogue, 1636 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • 99% des participants qui se disent satisfaits de nos formations
  • la possibilité de vous proposer un accompagnement personnalisé, du conseil ou un suivi après la formation

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012