Plan du cours
Introduction
- Aperçu des caractéristiques et des applications du langage C
Préparation de l'environnement de développement
- Choisir un IDE
- Configurer le compilateur
Rédaction d'un exemple de programme
- Définition du problème
- Coder en fonction des besoins
Définir le champ d'application des variables et des fonctions
- Comprendre la portée, la visibilité et la durée de vie
- Travailler avec des classes de stockage : auto, extern, register, static
Gestion des données dans un programme C
- Au-delà des types de données primitifs
- Travailler avec des types de données avancés : structures, listes chaînées, etc.
- Stocker différents types de données dans le même emplacement mémoire
Modifier les propriétés d'une variable
- Au-delà des modificateurs de type
- Travailler avec des qualificateurs de type : constant, volatile, etc.
Manipuler des bits en C
- Travailler avec des données inférieures à un octet
- Travailler avec des opérateurs de manipulation de bits
Contrôler le déroulement de votre programme
- Au-delà du séquençage
- Utilisation de l'instruction goto
Lecture et écriture des données
- Récapitulation des fonctions d'entrée/sortie
- Améliorer la lisibilité des sorties
Développer du code multiplateforme
- Comprendre les directives du compilateur
- Compilation conditionnelle du code
Améliorer la performance des programmes
- Macros et fonctions
- Définition de macros pour l'exécution de fragments de programme
Allocation dynamique de la mémoire
- Avantage de l'utilisation des pointeurs : vitesse d'exécution
- Pointeurs de fonctions
- Accessl'utilisation de la mémoire et la manipulation de l'adresse
Débogage d'un programme C
- Techniques avancées de vérification, de détection et de correction des erreurs
- Travailler avec gdb (Gnu Debugger)
Création d'une bibliothèque statique
- Comment une bibliothèque statique est liée à un fichier exécutable
- Création d'une bibliothèque statique
Création d'une bibliothèque partagée
- Bibliothèques statiques et bibliothèques partagées (bibliothèques dynamiques)
- Comment une bibliothèque partagée est liée et chargée en mémoire au moment de l'exécution
- Création d'une bibliothèque partagée
L'abstraction des données dans votre programme
- Aperçu de l'interface, de la spécification et de la mise en œuvre
- Création d'un type de données abstrait
- Test de régression d'un type de données abstrait
Searchtrier les données
- SearchRecherche de tableaux à l'aide de la recherche linéaire, de la recherche binaire, etc.
- Trier des tableaux en utilisant le tri par sélection, le tri par insertion, le tri à bulles
Interprocessus Communication et signaux
- Comprendre les processus, les sockets et les signaux
- Mettre en œuvre l'IPC à l'aide de fichiers partagés, de mémoire partagée, de tuyaux, de files d'attente de messages, de sockets, de sémaphores, etc.
Faire fonctionner votre programme C en parallèle
- Exécution simultanée de différentes parties d'un programme grâce au multithreading
- Écriture d'un thread
Réseaux avancés Programming
- Récapitulation des protocoles TCP, UDP, IP et autres protocoles dominants
- Servir plusieurs ports, survivre aux interruptions brusques du réseau, etc.
- Écrire de puissantes API de sockets
Vers un code de haute qualité
- L'examen du code par les pairs et la programmation parallèle
- L'importance du codage itératif (refactoring)
Résumé et conclusion
Pré requis
- Expérience en programmation C
Audience
- Programmeurs
- Développeurs
Nos clients témoignent (2)
les exercices et la méthodologie
Javier MIllan Rios - si
Formation - Advanced C Programming
Traduction automatique
Un contenu intéressant et à large échelle
Maciej Perkowski - Nordic Semiconductor
Formation - Advanced C Programming
Traduction automatique