Programmation avancée en C
Les objectifs
En quelques mots...
Public
Ingénieurs, Analystes programmeurs désirant se perfectionner au langage C
Pré-requis
Avoir suivi la formation "Langage C" ou posséder les connaissances équivalentes
Méthodes et Moyens pédagogiques
Formation réalisée en présentiel ou à distance selon la formule retenue
Présentation des concepts, discussion technique, démonstrations, exercices simples et TP
Un poste informatique par stagiaire connecté à internet, à une imprimante en réseau et au réseau informatique
Les salles sont équipées d’un tableau interactif ou d’un vidéoprojecteur et d’un paperboard
Support de cours fourni à chaque stagiaire
Modalités de suivi et d'évaluations
Feuille de présence émargée par demi-journée par les stagiaires et le formateur
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Questionnaire d’évaluation de la satisfaction en fin de stage
Auto-évaluation des acquis de la formation par les stagiaires
Attestation de fin de formation
Informations pratiques
Accessibilité , modalités et délais d'accès
Programme mis à jour le 23/03/2023
Programme détaillé
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
APPELS SYSTEME
- Processus et fork()
- Lecture d'un répertoire
- Le réseau (sockets)
GESTION DE LA MEMOIRE
- Tableaux / listes chainées
- Gestion du tas
DECLARATIONS SPECIALES
- 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 œuvre
- Edition des liens
OPTIMISATION
- De la vitesse
- De la mémoire
PROFILER
- Objectif du profiling
- Mise en oeuvre
- Interpréter le résultat
PORTABILITE
- Standard ANSI C
- Standard POSIX
- Unix / Windows
- Bibliothèques partagées (SO, DLL)