Rechercher une formation et ses disponibilités
Formation C avancé : programmation système sous Linux
La formation C avancé, programmation sous Linux vous permettra de développer des applications orientées système avec le langage C. Nous commencerons par un rappel avant d'embrayer sur la gestion des threads sous Linux puis nous traiterons le réseau et la gestion de la mémoire. Cette formation très pragmatique abordera ensuite les principales bibliothèques et leurs utilisations dans le but de vous faire gagner du temps lors de vos développements. Cette formation est un must pour les développeurs C qui souhaitent passer un cap et maîtriser le C dans un environnement Linux.
Objectifs de cette formation C avancé : programmation système sous Linux
- Développer des applications avancées avec le langage C sous Linux
- Maîtriser l'approche Système sous Linux en C
Public de cette formation C avancé : programmation système sous Linux
Pré-requis de cette formation C avancé : programmation système sous Linux
Programme de cette formation C avancé : programmation système sous Linux
Rappels : outils de développement
- Compilation avec gcc et make
- Utiliser un débogueur
- Utiliser un profileur pour suivre en détail ses programmes
Rappels : appels systèmes classiques
- Développer des programmes compatibles avec les différents systèmes Unix (compatibilité Linux à POSIX)
- La gestion des processus (fork et exec)
- Gestion de l'environnement (getenv, etc)
- La communication entre processus (IPC)
- Les pipes classiques et les named pipes
Gérer des threads sous Linux
- Principes et implémentations des threads
- Avantages et inconvénients par rapport au fork
- Création de threads, leurs attributs
- Vérouiller et dévérouiller l'accès à certaines parties des code (MUTEX)
- Gérer les données et les signaux des threads
Communication réseau sous Linux
- Présentation des principaux appels systèmes
- Les sockets STREAM : mise en place d'un client-serveur TCP (connecté)
- Les sockets DGRAM : mise en place d'un client-serveur en UDP (non connecté)
Gérer la mémoire sous Linux
- L'allocation de mémoire avec malloc et ses variantes
- Optimiser l'algorithme de malloc
- Suivi et prévention des fuites mémoire avec mtrace
- Faciliter le débogage de la gestion de la mémoire avec Electricfence
- Gestion des fuites mémoires et outils associés
- Routines avancées de traitement des blocs mémoire
Gestion avancée de bibliothèques
- Créer des bibliothèques statiques, partagées et dynamiques
- Présenation des principales bibliothèques Linux
Construire des applications pour Linux
- Gestion des dépendances (automake, autoconf)
- Utilisation avancée de make