Formation Langage C Avancé

Formation Langage C Avancé

Notée : (1)*

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

Prix (Formation inter-entreprise)

1300€ HT / personne

Durée

2 jours

Dates

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

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é

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...
  • 120 formations au catalogue, 1571 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Formation Langage C Avancé

Notée : (1)*

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é

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...
  • 120 formations au catalogue, 1571 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

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