Retour en haut de la page

Langage C - Fonctions avancées

2 jours - 14 heures

Objectifs

Apporter aux stagiaires les connaissances et la pratique des fonctions appartenant aux principales bibliothèques standards du langage C. Une courte initiation aux techniques de programmation en C sous Windows sera faite.

Participants

Ingénieurs informaticiens, analystes programmeurs désirant se perfectionner au langage C.

Prérequis

La connaissance des bases du langage C est nécessaire.

Pédagogie

La pédagogie est basée sur le principe de la dynamique de groupe avec alternance d'apports théoriques, de phases de réflexion collectives et individuelles, d'exercices, d'études de cas et de mises en situations observées. Formation / Action participative et interactive : les participants sont acteurs de leur formation notamment lors des mises en situation car ils s'appuient sur leurs connaissances, les expériences et mettront en œuvre les nouveaux outils présentés au cours de la session.

Remarques

 

Certification

 

Profil de l'intervenant

Consultant-formateur expert. Suivi des compétences techniques et pédagogiques assuré par nos services.

Moyens techniques

Encadrement complet des stagiaires durant la formation. Espace d’accueil, configuration technique des salles et matériel pédagogique dédié pour les formations en centre. Remise d’une documentation pédagogique papier ou numérique à échéance de la formation.

Méthodes d'évaluation des acquis

Exercices individuels et collectifs durant la formation. La feuille d’émargement signée par demi-journée ainsi que l’évaluation des acquis de fin de stage sont adressées avec la facture.

Programme

Rappel de base

  • Architecture d'un programme
  • Types de données
  • Structures de contrôle
  • Fonctions et visibilité
  • Pointeurs et allocation dynamique

Pointeurs

  • Pointeurs de fonction
  • Pointeurs de tableau
  • Indirections à plusieurs niveaux

Fonctions

  • Récursivité
  • Nombre de paramètres variables

Passage de paramètres

  • Passage par valeur
  • Passage par pointeur

Gestion des fichiers

  • Fichiers bufferisés
  • Fichiers non bufferisés

Appels système

  • Processus et fork()
  • Lecture d'un répertoire
  • Le réseau (sockets)

Gestion de la mémoire

  • Classe de stockage
  • Gestion du tas

Le préprocesseur

  • Compilation conditionnelle
  • Constantes pures
  • Macros

Déclarations spéciales

  • Variables externes
  • Fonctions exportées et importées de DLL
  • Variables statiques
  • Fonctions inline

Constitution et appel de fonctions assembleur

  • Faut-il encore utiliser l'assembleur ?
  • Mise en oeuvre
  • Édition des liens

Optimisation

  • De la vitesse
  • De la mémoire

Débogueurs

  • Symboles de débogage
  • Variables suivies
  • Points d'arrêts

Profiler

  • Objectif du profiling
  • Mise en oeuvre
  • Interpréter le résultat

Portabilité

  • Standard ANSI C
  • Standard POSIX
  • Unix / Windows
  • Bibliothèques partagées (SO, DLL)

Librairies

  • Librairies standards
  • Constituer une librairie
Datadock Microsoft TOSA Certification Robert Samsung partners

Grand-Est (Bar le duc, Chalons en champagne, Colmar, Epinal, Metz, Mulhouse, Nancy, Reims, Strasbourg, Troyes) Nouvelle-Aquitaine (Agen, Angouleme, Biarritz, Bordeaux, Brive, Compiegne, La rochelle, Limoges, Niort, Pau, Perigueux, Poitiers) Auvergne-Rhônes-Alpes (Annecy, Bourg en bresse, Chambery, Clermont ferrand, Grenoble, Lyon bron, Lyon masset, Lyon vendome, Saint etienne, Valence) Normandie (Caen, Le havre, Rouen) Bourgogne-Franche-Comté (Auxerre, Belfort, Dijon, Sens) Bretagne (Brest, Rennes) Centre-Val-de-Loire (Blois, Bourges, Chartres, Chateauroux, Orleans, Tours) Corse (Ajaccio, Bastia) Île de France (Aulnay sous bois, Groupe, La defense courbevoie, Nanterre, Paris nation, Paris ternes, Poissy) Occitanie (Cahors, Castres, Montauban, Montpellier, Narbonne, Nimes, Pamiers, Perpignan, Rodez, Toulouse) Pays de la Loire (La roche sur yon, Le mans, Montaigu, Nantes) Hauts de France (Amiens, Lille, Roubaix, Soissons) Provence-Alpes-Côte d'Azur (Aix en provence, Avignon, Marseille, Nice)